sl@0: /* sl@0: * Copyright (c) 2004-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: * CTestCertForDeletable class implementation sl@0: * sl@0: */ sl@0: sl@0: sl@0: /** sl@0: @file sl@0: @internalTechnology sl@0: */ sl@0: sl@0: #ifndef __T_TESTCERTFORDELETABLE_H__ sl@0: #define __T_TESTCERTFORDELETABLE_H__ sl@0: sl@0: #include "t_certstoreactions.h" sl@0: #include "t_testactionspec.h" sl@0: #include sl@0: #include sl@0: sl@0: /** sl@0: * This class tests the addition of a certificate to the store. sl@0: */ sl@0: class CTestCertForDeletable : public CCertStoreTestAction sl@0: { sl@0: public: sl@0: static CTestAction* NewL( RFs& aFs, sl@0: CConsoleBase& aConsole, sl@0: Output& aOut, sl@0: const TTestActionSpec& aTestActionSpec); sl@0: ~CTestCertForDeletable(); sl@0: virtual void PerformAction(TRequestStatus& aStatus); sl@0: virtual void PerformCancel(); sl@0: virtual void AfterOOMFailure(); sl@0: virtual void Reset(); sl@0: sl@0: private: sl@0: CTestCertForDeletable(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: void ConstructL(const TTestActionSpec& aTestActionSpec); sl@0: void DoReportAction(); sl@0: void DoCheckResult(TInt aError); sl@0: sl@0: void WriteFormat(TCertificateFormat aFormat); sl@0: void WriteOwnerType(); sl@0: void SetKeyId(TKeyIdentifier& aKeyIdentifier, const TDesC8& aKeyInfo); sl@0: void SetCertFormatL(const TDesC8& aFormat); sl@0: void SetCertOwnerTypeL(const TDesC8& aOwnerType); sl@0: void SetCertLabelL(const TDesC8& aLabel); sl@0: void SetStoreToUse(const TDesC8& aStoreToUse); sl@0: void SetDeletable(const TDesC8& aStringValue); sl@0: void SetSubActionL(const TDesC8& aStringValue); sl@0: void SetCertificateContentL(const TDesC8& aFileName); sl@0: void ConstructCertL(const TDesC8& aCert); sl@0: sl@0: void TestSerializationL(MCTToken& aToken, sl@0: TKeyIdentifier* aIssuerKeyId, sl@0: TKeyIdentifier* aSubjectKeyId, sl@0: const TInt aCertificateId, sl@0: const TDesC8* aIssuerHash ); sl@0: private: sl@0: enum TState sl@0: { sl@0: ETestSerialization, sl@0: ETestNewCSClasswDeletable, sl@0: ETestOldCSClasswoDeletable, sl@0: EFinished sl@0: }; sl@0: sl@0: private: sl@0: TState iState; sl@0: CCertificate* iCertificate; sl@0: HBufC8* iCertificateURL; sl@0: HBufC* iCertificateLabel; sl@0: TCertificateFormat iCertificateFormat; sl@0: TCertificateOwnerType iOwnerType; sl@0: TKeyIdentifier iIssuerKeyId; sl@0: TKeyIdentifier iSubjectKeyId; sl@0: TInt iStoreIndex; sl@0: TBool iSelfInit; sl@0: TBool iResultGood; sl@0: sl@0: HBufC8* iCertificateContent; sl@0: sl@0: CCTCertInfo* iCertInfo; sl@0: CCertificate* iCert; sl@0: TBool iDeletable; sl@0: }; sl@0: sl@0: sl@0: #endif