vpnengine/pkiservice/inc/mapdescriptor.h
changeset 1 c9c2ad51f972
child 22 9f4e37332ce5
--- /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