sl@0: /* sl@0: * Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: /** sl@0: @file sl@0: @internalTechnology sl@0: */ sl@0: sl@0: #ifndef __T_UNIFIEDCERTSTOREREMOVE_H__ sl@0: #define __T_UNIFIEDCERTSTOREREMOVE_H__ sl@0: sl@0: #include "t_certstoreactions.h" sl@0: class CDeleteCertificate : public CSubscriberAction sl@0: { sl@0: sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, sl@0: const TTestActionSpec& aTestActionSpec); sl@0: ~CDeleteCertificate(); sl@0: sl@0: public: sl@0: virtual void PerformAction(TRequestStatus& aStatus); sl@0: virtual void PerformCancel(); sl@0: virtual void Reset(); sl@0: sl@0: protected: sl@0: CDeleteCertificate(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void GetCerts(TRequestStatus& aStatus); sl@0: void DeleteCert(TRequestStatus& aStatus); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: void DoReportAction(); sl@0: void DoCheckResult(TInt aError); sl@0: TBool CheckCertType( CCTCertInfo& aCertInfo); sl@0: sl@0: protected: sl@0: enum TDeleteCertState sl@0: { sl@0: EIdle, sl@0: EGettingCerts, sl@0: EDeletingCert, sl@0: ECheckNotification, sl@0: EFinished sl@0: }; sl@0: sl@0: protected: sl@0: TDeleteCertState iState; sl@0: TCertLabel iCertLabel; sl@0: RMPointerArray iCertInfos; sl@0: CCTCertInfo* iCertInfoToDelete; sl@0: CCertAttributeFilter* iFilter; sl@0: TBool iDeleteAllCerts; sl@0: HBufC8* iCertDeleteType; sl@0: }; sl@0: sl@0: class CDeleteRetrieveCertificate : public CSubscriberAction sl@0: { sl@0: public: sl@0: virtual void PerformAction(TRequestStatus& aStatus); sl@0: virtual void PerformCancel(); sl@0: virtual void Reset(); sl@0: sl@0: protected: sl@0: CDeleteRetrieveCertificate(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: virtual void GetCerts(TRequestStatus& aStatus) = 0; sl@0: virtual void RetrieveCerts(TRequestStatus& aStatus) = 0; sl@0: virtual void DeleteCert(TRequestStatus& aStatus) = 0; sl@0: sl@0: protected: sl@0: enum TDeleteCertState sl@0: { sl@0: EIdle, sl@0: EGettingCerts, sl@0: EDeletingCert, sl@0: ECheckNotification, sl@0: EFinished sl@0: }; sl@0: sl@0: protected: sl@0: TDeleteCertState iState; sl@0: TCertLabel iCertLabel; sl@0: RPointerArray* iCertlisted; sl@0: RMPointerArray iCertInfos; sl@0: CCTCertInfo* iCertInfoToDelete; sl@0: CCTCertInfo* iCertInfoToRetrieve; sl@0: TPtr8* iBuf; sl@0: }; sl@0: sl@0: class CDeleteRetrieveCACertificate : public CDeleteRetrieveCertificate sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, sl@0: const TTestActionSpec& aTestActionSpec); sl@0: ~CDeleteRetrieveCACertificate(); sl@0: sl@0: private: sl@0: CDeleteRetrieveCACertificate(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: void GetCerts(TRequestStatus& aStatus); sl@0: void RetrieveCerts(TRequestStatus& aStatus); sl@0: void DeleteCert(TRequestStatus& aStatus); sl@0: void DoReportAction(); sl@0: void DoCheckResult(TInt aError); sl@0: sl@0: private: sl@0: CCertAttributeFilter* iFilter; sl@0: }; sl@0: sl@0: class CDeleteRetrieveUserCertificate : public CDeleteRetrieveCertificate sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, sl@0: const TTestActionSpec& aTestActionSpec); sl@0: ~CDeleteRetrieveUserCertificate(); sl@0: private: sl@0: CDeleteRetrieveUserCertificate(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: void GetCerts(TRequestStatus& aStatus); sl@0: void RetrieveCerts(TRequestStatus& aStatus); sl@0: void DeleteCert(TRequestStatus& aStatus); sl@0: void DoReportAction(); sl@0: void DoCheckResult(TInt aError); sl@0: sl@0: private: sl@0: CCertAttributeFilter* iFilter; sl@0: }; sl@0: sl@0: #endif sl@0: