sl@0: #ifndef __CONFIGWRITER_H__ sl@0: #define __CONFIGWRITER_H__/* sl@0: * Copyright (c) 2008-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: #include sl@0: #include sl@0: #include sl@0: sl@0: class GoodConfigWriter sl@0: { sl@0: public: sl@0: GoodConfigWriter(const std::stringstream &aFileName); sl@0: ~GoodConfigWriter(); sl@0: std::ofstream iFile; sl@0: }; sl@0: sl@0: class FileCertStoreConfigWriter : public GoodConfigWriter sl@0: { sl@0: public: sl@0: FileCertStoreConfigWriter(const std::stringstream &aFileName); sl@0: ~FileCertStoreConfigWriter(); sl@0: sl@0: void WriteFileEntry(const char *aGoodLabel= "\"Root5CA\"", sl@0: const char *aGoodDeletable = "\"true\"", sl@0: const char *aGoodFormat= "\"EX509Certificate\"", sl@0: const char *aGoodCertOwnerType = "\"ECACertificate\"", sl@0: const char *aGoodSubjectKeyId ="auto", sl@0: const char *aGoodIssuerKeyId = "auto", sl@0: const char *aGoodApplication = "\"SW Install\"", sl@0: const char *aGoodTrusted = "\"true\"", sl@0: const char *aGoodDataFileName = "\"cert0.der\""); sl@0: void WriteExtraFileEntry(); sl@0: sl@0: private: sl@0: int iEntryCount; sl@0: }; sl@0: sl@0: class FileCertClientConfigWriter : public GoodConfigWriter sl@0: { sl@0: public: sl@0: FileCertClientConfigWriter(const std::stringstream &aFileName); sl@0: ~FileCertClientConfigWriter(); sl@0: sl@0: void WriteCertClientName(const char *arrayVal); sl@0: void WriteCertClientUid(const char *arrayVal); sl@0: void WriteExtraCertClientEntry(); sl@0: private: sl@0: int iEntryCount; sl@0: }; sl@0: sl@0: sl@0: class SwiCertStoreConfigWriter : public GoodConfigWriter sl@0: { sl@0: public: sl@0: SwiCertStoreConfigWriter(const std::stringstream &aFileName); sl@0: ~SwiCertStoreConfigWriter(); sl@0: sl@0: void WriteSwiEntry(const char *aGoodLabel= "\"certificate_Label\"", sl@0: /*const char *aGoodDeletable = "\"true\"",*/ sl@0: const char *aGoodFormat= "EX509Certificate", sl@0: const char *aGoodCertOwnerType = "\"ECACertificate\"", sl@0: const char *aGoodSubjectKeyId ="auto", sl@0: const char *aGoodIssuerKeyId = "auto", sl@0: const char *aGoodApplication = "\"SW Install\"", sl@0: const char *aGoodTrusted = "\"true\"", sl@0: const char *aGoodCapabilitySet = "TCB", sl@0: const char *aGoodMandatory = "\"true\"", sl@0: const char *aGoodSystemUpgrade = "\"true\""); sl@0: void WriteExtraSwiEntry(); sl@0: private: sl@0: int iEntryCount; sl@0: }; sl@0: sl@0: sl@0: // to generate script and ini files to run tests on emulator sl@0: sl@0: class ScriptAndIniGeneration : public GoodConfigWriter sl@0: { sl@0: public: sl@0: ScriptAndIniGeneration(const std::stringstream &aFileName); sl@0: ~ScriptAndIniGeneration(); sl@0: sl@0: void WriteTestCaseToScript(const std::stringstream &aTestCaseType, int &aTestIndex, const char *aTestActionName, const char *aTestActionType, bool aHasActionBody = true); sl@0: sl@0: protected: sl@0: std::ofstream iIniFile; sl@0: std::string iIniFileName; sl@0: }; sl@0: sl@0: sl@0: // to generate script files for the file certstore to run tests on emulator sl@0: sl@0: class FileStoreScriptGeneration : public ScriptAndIniGeneration sl@0: { sl@0: public: sl@0: FileStoreScriptGeneration(const std::stringstream &aFileName); sl@0: ~FileStoreScriptGeneration(); sl@0: sl@0: void WriteInitialiseCert(const char *aMode, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteListcert(const char *aGoodOwnerType, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetCertificateDetails(const char *label, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetTrust(const char *label, const char *trust, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetApplications(const char *label, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteRetrieveCerts(const char *label, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: }; sl@0: sl@0: sl@0: // to generate script files for the cert cleint store to run tests on emulator sl@0: sl@0: class CertClientsStoreScriptGeneration : public ScriptAndIniGeneration sl@0: { sl@0: public: sl@0: CertClientsStoreScriptGeneration(const std::stringstream &aFileName); sl@0: ~CertClientsStoreScriptGeneration(); sl@0: sl@0: void WriteInitialiseCertClient(const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetCount(const int index, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetApplicationsList(const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetAppWithUid(const char *label, const char *uid, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteDestroyManager(const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: }; sl@0: sl@0: sl@0: // to generate script files for the swicertstore to run tests on emulator sl@0: sl@0: class SWIStoreScriptGeneration : public ScriptAndIniGeneration sl@0: { sl@0: public: sl@0: SWIStoreScriptGeneration(const std::stringstream &aFileName); sl@0: ~SWIStoreScriptGeneration(); sl@0: sl@0: void WriteInitialiseCert(const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteListcert(const char *aGoodOwnerType, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetSystemUpgrade(const char *label , const char *aSystemUpgrade, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetCapabilities(const char *label, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetMandatoryFlag(const char *label, const char *aMandatory, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetTrust(const char *label, const char *trust, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteGetApplications(const char *label, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: void WriteRetrieveCerts(const char *label, const std::stringstream &aTestCaseType, int &aTestIndex); sl@0: }; sl@0: sl@0: class EmptyFileConfigWriter : public GoodConfigWriter sl@0: { sl@0: public: sl@0: EmptyFileConfigWriter(const std::stringstream &aFileName); sl@0: ~EmptyFileConfigWriter(); sl@0: }; sl@0: sl@0: #endif