diff -r 000000000000 -r 33413c0669b9 vpnengine/dmadpki/inc/dmadstorecert.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnengine/dmadpki/inc/dmadstorecert.h Thu Dec 17 09:14:51 2009 +0200 @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2002-2008 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: Class definition of CDmAdCert +* +*/ + + + +#ifndef __DMADSTORECERT_H__ +#define __DMADSTORECERT_H__ + +#include + +#include +//#include +#include + +#include "pkiserviceapi.h" +#include "dmadcertparms.h" +#include "dmadcertluidmappingelem.h" +#include "eventlogger.h" + +class CDmAdCert : public CBase + { +public: + static CDmAdCert* NewL(RPKIServiceAPI& aPkiServiceApi); + static CDmAdCert* NewLC(RPKIServiceAPI& aPkiServiceApi); + ~CDmAdCert(); + + TBool FindL(const TDesC8& aLuid); + HBufC8* AddL(const CDmAdCertParms& aData); // returns Luid + void UpdateL(const TDesC8& aLuid, const CDmAdCertParms& aData); + void FetchL(const TDesC8& aLuid, CDmAdCertParms& aData); + void DeleteL(const TDesC8& aLuid); + void ListL(RPointerArray& aLuidList); + +private: + void ConstructL(); + CDmAdCert(RPKIServiceAPI& aPkiServiceApi); + void ReadCertDetailsL(const TDesC8& aIssuerName, const TDesC8& aSerialNumber, CDmAdCertParms& aParms); + void UpdateTrustedL(const TDesC8& aIssuerName, const TDesC8& aSerialNumber, const CDmAdCertParms& aParms); + void UpdateApplicabilityL(const TDesC8& aIssuerName, const TDesC8& aSerialNumber, const CDmAdCertParms& aParms); + TPtrC8 AppendCertLuidMappingElemL(const TDesC8& aIssuerName, const TDesC8& aSerialNumber); + void RemoveCertLuidMappingElem(const TDesC8& aLuid); + CDmAdCertLuidMappingElem* FindCertLuidMappingElemL(const TDesC8& aLuid); + void BuildCertLuidMappingTableL(); + HBufC8* BuildCertRefL(const TDesC8& aCertificateDer, TBool aAppend); + void GetIssuerAndSerialFromCertRefLC(const TDesC8& aCertRef, + HBufC8*& aIssuerName, + HBufC8*& aSerialNumber); + HBufC8* CertSubjectNameL(const TDesC8& aCertificateDer); + +private: + RPKIServiceAPI* iPkiServiceApi; + CArrayPtr* iCertLuidMapping; + DEFINE_EVENT_LOGGER + }; + +#endif