pkiutilities/DeviceToken/Inc/DevandTruSrvCertStore.h
changeset 0 164170e6151a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkiutilities/DeviceToken/Inc/DevandTruSrvCertStore.h	Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2006 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:   The header file of DevandTruSrvCertStore
+*
+*/
+
+
+
+#ifndef __DEVANDTRUSRVCERTSTORE_H__
+#define __DEVANDTRUSRVCERTSTORE_H__
+
+#include <mctwritablecertstore.h>
+#include "DevTokenMarshaller.h"
+#include "DevTokenDataTypes.h"
+#include "DTClient.h"
+
+
+/**
+ * The device tokens Certstore client interface.
+ * 
+ * Implements the MCTWritableCertStore interface, with inheritance from
+ * CFSClient.  Instances of this class are created by CClientInterfaceFactory.
+ * Marshals client data for server requests and unpacks returned parameter data
+ * across IPC boundary.
+ * Note that although this class is derived from CActive (via CDTClient) is does
+ * not act an active object, or use CActive functionality.
+ *
+ *  @lib DevTokenClient.dll
+ *  @since S60 v3.2
+ */
+class CDevandTruSrvCertStore : public CDTClient, public MCTWritableCertStore
+    {
+    public:
+        
+        static MCTTokenInterface* NewWritableInterfaceL(MCTToken& aToken, RDevTokenClientSession& aClient);
+        
+        static MCTTokenInterface* NewReadableInterfaceL(MCTToken& aToken, RDevTokenClientSession& aClient);
+        
+    public:
+        
+        virtual ~CDevandTruSrvCertStore();
+        
+    public: 
+        
+        // From MCTTokenInterface
+        virtual MCTToken& Token();
+        
+        virtual void DoRelease();
+        
+    public:
+        
+        // From MCTCertStore
+        virtual void List(RMPointerArray<CCTCertInfo>& aCerts, 
+                          const CCertAttributeFilter& aFilter, 
+                          TRequestStatus& aStatus);
+        
+        virtual void CancelList();  
+        
+        virtual void GetCert(CCTCertInfo*& aCertInfo, const TCTTokenObjectHandle& aHandle,
+                             TRequestStatus& aStatus);
+        
+        virtual void CancelGetCert(); 
+        
+        virtual void Applications(const CCTCertInfo& aCertInfo, RArray<TUid>& aApplications,
+                                  TRequestStatus& aStatus); 
+                                  
+        virtual void CancelApplications();  
+        
+        virtual void IsApplicable(const CCTCertInfo& aCertInfo, TUid aApplication, 
+                                  TBool& aIsApplicable, TRequestStatus& aStatus);
+        
+        virtual void CancelIsApplicable();  
+        
+        virtual void Trusted(const CCTCertInfo& aCertInfo, TBool& aTrusted, 
+                             TRequestStatus& aStatus);
+        
+        virtual void CancelTrusted(); 
+        
+        virtual void Retrieve(const CCTCertInfo& aCertInfo, TDes8& aEncodedCert,
+                              TRequestStatus& aStatus);
+        
+        virtual void CancelRetrieve();
+        
+        // From MCTWritableCertStore
+        virtual void Add(const TDesC& aLabel, TCertificateFormat aFormat,
+                         TCertificateOwnerType aCertificateOwnerType, 
+                         const TKeyIdentifier* aSubjectKeyId, const TKeyIdentifier* aIssuerKeyId,
+                         const TDesC8& aCert, TRequestStatus& aStatus);
+        
+        virtual void Add(const TDesC& aLabel, TCertificateFormat aFormat,
+                         TCertificateOwnerType aCertificateOwnerType, 
+                         const TKeyIdentifier* aSubjectKeyId, const TKeyIdentifier* aIssuerKeyId,
+                         const TDesC8& aCert, const TBool aDeletable,
+                         TRequestStatus& aStatus);
+        
+        virtual void CancelAdd(); 
+        
+        virtual void Remove(const CCTCertInfo& aCertInfo, TRequestStatus& aStatus);
+        
+        virtual void CancelRemove();  
+        
+        virtual void SetApplicability(const CCTCertInfo& aCertInfo, 
+        
+        const RArray<TUid>& aApplications, TRequestStatus &aStatus);
+        
+        virtual void CancelSetApplicability();
+        
+        virtual void SetTrust(const CCTCertInfo& aCertInfo, TBool aTrusted, 
+                              TRequestStatus& aStatus);
+        
+        virtual void CancelSetTrust();  
+
+    protected:
+        
+        // From CActive
+        virtual void RunL();
+
+    private:
+        
+        CDevandTruSrvCertStore(TInt aUID, MCTToken& aToken, RDevTokenClientSession& aClient);
+        
+        void ConstructL();
+        
+        void DoListL(RMPointerArray<CCTCertInfo>& aCerts, const CCertAttributeFilter& aFilter);
+        
+        void DoGetCertL(CCTCertInfo*& aCertInfo, const TCTTokenObjectHandle& aHandle);
+        
+        void DoApplicationsL(const CCTCertInfo& aCertInfo, RArray<TUid>& aApplications);
+        
+        TInt DoRetrieve(const CCTCertInfo& aCertInfo, TDes8& aEncodedCert);
+        
+        void CopyFilter( CCertAttributeFilter* aDesFilter, const CCertAttributeFilter& aSrcFilter);
+        
+    private:
+        
+        CCertAttributeFilter* iFilter;    
+    };
+
+#endif  //__DEVANDTRUSRVCERTSTORE_H__
+
+//EOF