diff -r 3255e7d5bd67 -r 989397f9511c cpsecplugins/cpadvancedsecplugin/inc/advsecsettingscertdetailsbuilder_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpsecplugins/cpadvancedsecplugin/inc/advsecsettingscertdetailsbuilder_symbian.h Thu Oct 14 13:56:11 2010 +0300 @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0"" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Helper class to construct certificate details +* +*/ + +#ifndef ADVSECSETTINGSCERTDETAILSBUILDER_SYMBIAN_H +#define ADVSECSETTINGSCERTDETAILSBUILDER_SYMBIAN_H + +#include // CActive +#include // RMPointerArray +#include // CUnifiedCertStore +#include + +class RFs; +class CUnifiedCertStore; +class CUnifiedKeyStore; +class CCTCertInfo; +class CCTKeyInfo; +class CCertAttributeFilter; +class TCTKeyAttributeFilter; + + +/** + * Certificate details helper class. + */ +class CAdvSecSettingsCertDetailsBuilder : public CActive +{ +public: // constructor and destructor + static CAdvSecSettingsCertDetailsBuilder *NewL(RFs &aFs, CUnifiedCertStore &aCertStore); + ~CAdvSecSettingsCertDetailsBuilder(); + +public: // new functions + void GetDetailsL(const CCTCertInfo &aCert, QMap &aDetails, + TRequestStatus &aStatus); + +protected: // from CActive + void DoCancel(); + void RunL(); + TInt RunError(TInt aError); + +private: // new functions + CAdvSecSettingsCertDetailsBuilder(RFs &aFs, CUnifiedCertStore &aCertStore); + void ConstructL(); + void InitializeKeyStoreL(); + void RetrieveCertificateL(); + void ListKeysL(); + void ReturnCertificateDetailsL(); + void AppendLabelL(); + void AppendIssuerL(); + void AppendSubjectL(); + void AppendValidityPeriodL(); + void AppendLocationL(); + void AppendFormatL(); + void AppendKeyUsageL(); + void AppendAlgorithmL(); + void AppendSerialNumberL(); + void AppendFingerprintsL(); + void AppendPublicKeyL(); + void AppendTrustedSitesL(); + QString CertificateFormatStringL(const TCertificateFormat aFormat) const; + QString AlgorithmNameStringL(TAlgorithmId aAlgorithmId) const; + +private: // data + RFs &iFs; + CUnifiedCertStore &iCertStore; + const CCTCertInfo *iCertInfo; // not owned + TRequestStatus *iClientStatus; // not owned + QMap *iDetails; // not owned + + CCertificate *iCertificate; + HBufC8 *iCertificateUrl; + TPtr8 iCertUrlPtr; + + CUnifiedKeyStore *iKeyStore; + TCTKeyAttributeFilter *iKeyFilter; + RMPointerArray iKeys; + + enum TDetailsBuilderState { + ENotInitialized, + EInitializingKeyStore, + ERetrievingCertificate, + EListingKeys, + EIdle, + EFailed + } iState; +}; + +#endif // ADVSECSETTINGSCERTDETAILSBUILDER_SYMBIAN_H