--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vpnengine/pkiservice/inc/mapdescriptor.h Thu Jan 07 13:26:15 2010 +0200
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2006-2009 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:
+* A data object for CPKIMapper class thar holds the information
+* required to map API set to use the storage model which is not
+* native for that API.
+*
+*/
+
+#ifndef C_MAPDESCRIPTOR_H
+#define C_MAPDESCRIPTOR_H
+
+#include <e32base.h>
+#include "pkidefs.h"
+
+class TSecurityObjectDescriptor;
+class CX500DistinguishedName;
+class CX520AttributeTypeAndValue;
+
+/**
+ * CMapDescriptor
+ *
+ * Maintains information of installed certificates and keys
+ *
+ * @lib internal (pkiservice.exe)
+ * @since S60 v3.0
+ */
+class CMapDescriptor : public CBase
+{
+public:
+ enum TValidity
+ {
+ EValid,
+ EExpired,
+ ENotValidYet
+ };
+
+ static CMapDescriptor* NewL(const TDesC& aLabel,
+ const CX509Certificate& aCertificate,
+ TPKICertificateOwnerType aOwnerType,
+ TPkiServiceStoreType aCertStoreType);
+
+ ~CMapDescriptor();
+
+ TBool IsMatchingL(TSecurityObjectDescriptor &aDesc,
+ const TBool aInfoOnly,
+ TPkiServiceStoreType aCertStoreType) const;
+ TBool IsEqual(CMapDescriptor &aDesc);
+ void SetMapDeletable(TBool aDeletable);
+ void SetMapTrusted(const TBool &aTrusted);
+ void SetMapApplications(const RArray<TUid> &aApplications);
+
+ TPtrC Label() const;
+ const TPKIKeyIdentifier& CertificateKeyId() const;
+ TPKICertificateOwnerType OwnerType() const;
+ TUint KeySize() const;
+ TPtrC8 TrustedAuthority() const;
+ TPtrC8 IdentitySubjectName() const;
+ TPtrC8 SerialNumber() const;
+ TPKIKeyAlgorithm KeyAlgorithm() const;
+ TBool Deletable() const;
+
+ TTime EndTime() const;
+
+ TBool IsMatchingCertStore(const TDesC& aCertStoreName);
+ TValidity CertValidity() const;
+
+ TBool IsApplicable(TUid aApplUid) const;
+
+private:
+ void ConstructL(const TDesC& aLabel,
+ const CX509Certificate& aCertificate,
+ TPKICertificateOwnerType aOwnerType,
+ TPkiServiceStoreType aCertStoreType);
+
+ TBool MatchL(const CX500DistinguishedName& aDn1,
+ const CX500DistinguishedName& aDn2) const;
+
+
+ TBool HasElementL(const CX500DistinguishedName& aDn,
+ const CX520AttributeTypeAndValue& aElement) const;
+
+
+ TBuf<SHORT_FILENAME_LENGTH> iLabel;
+ TPkiServiceStoreType iCertStoreType;
+ TPKICertificateOwnerType iOwnerType;
+
+ HBufC8* iIssuerName;
+ HBufC8* iSubjectName;
+ HBufC8* iRfc822Name;
+ HBufC8* iSerialNumber;
+
+ TPKIKeyIdentifier iKeyId;
+
+ TUint iKeySize;
+ TPKIKeyAlgorithm iKeyAlgorithm;
+ TTime iStartTime;
+ TTime iEndTime;
+
+ TBool iIsDeletable;
+ TBool iIsTrusted;
+ RArray<TUid> iApplUids;
+};
+
+
+#endif //C_MAPDESCRIPTOR_H