cryptoservices/certificateandkeymgmt/certstore/unifiedcertstoreworkingvars.h
changeset 0 2c201484c85f
child 8 35751d3474b7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cryptoservices/certificateandkeymgmt/certstore/unifiedcertstoreworkingvars.h	Wed Jul 08 11:25:26 2009 +0100
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: 
+* CUnifiedCertStoreWorkingVars class implementation
+*
+*/
+
+
+
+
+/**
+ @file 
+ @internalComponent 
+*/
+ 
+#include <e32base.h>
+#include <mctwritablecertstore.h>
+class CSHA1;
+class CCertificate;
+class CX500DistinguishedName;
+
+NONSHARABLE_CLASS(CUnifiedCertStoreWorkingVars) : public CBase
+	{
+public:
+	CUnifiedCertStoreWorkingVars();
+	virtual ~CUnifiedCertStoreWorkingVars();
+
+public:
+	/**
+	 * This stores the list of Token Types that support the
+	 * writable cert store interface.
+	 * Used while initializing the store.
+	 */
+	RCPointerArray<CCTTokenTypeInfo> iWritableTokenTypes;
+	/**
+	 * This stores the list of Token Types that support the
+	 * readable cert store interface.
+	 * Used while initializing the store.
+	 */
+	RCPointerArray<CCTTokenTypeInfo> iReadOnlyTokenTypes;
+
+	/**
+	 * Used to point to the array given as argument when listing certificates.
+	 */
+	RMPointerArray<CCTCertInfo>* iCertInfos;
+	/**
+	 * Used to point to the filter given as argument when listing certificates.
+	 */
+	const CCertAttributeFilter* iFilter;
+
+	/**
+	 * Used to point to the array of applications given as argument when doing 
+	 * the following operations :
+	 * - Applications
+	 * - SetApplicability
+	 */
+	RArray<TUid>* iApplications;
+
+	/**
+	 * Used to point to the certificate info given as argument when doing the following
+	 * operations :
+	 * - Applications
+	 * - IsApplicable
+	 * - Trusted
+	 * - Retrieve
+	 * - Remove
+	 * - SetApplicability
+	 * - SetTrust
+	 */
+	const CCTCertInfo* iCertInfo;
+
+	/**
+	 * This is used as an index for 
+	 * - the iWritableTokenTypes array when we are initializing the store.
+	 * - the iReadOnlyTokenTypes array when we are initializing the store.
+	 */
+	TInt iIndex;
+
+	/** The first returned certificate to be added to the array during
+	 *  a list, or the cert whose issuer DN is currently being compared. */
+	TInt iCertIndex;
+
+	/** The required issuer name for a list. */
+	RPointerArray<TDesC8> iIssuerNames;
+	/** The issuer names in parsed format */
+	RPointerArray<CX500DistinguishedName> iParsedIssuerNames;
+	/** Hashes of issuer names */
+	RPointerArray<HBufC8> iHashedIssuerNames;
+
+	/** A hash of the issuer DN. Used for comparing DNs in URL certificates */
+	CSHA1* iIssuerHash;
+
+	/** A descriptor used for storing certs while returning them as 
+		CCertificate objects */
+	HBufC8* iCertDesC;
+	/** A pointer to the modifiable descriptor for returning the 
+	    CCertificate objects - normally points to to iCertDesC */
+	TPtr8   iCertDes;  
+	
+	/** Pointer to returned certificate pointer */
+	CCertificate** iReturnedCert;
+
+	/** Type of the certificate being retrieved */
+	TCertificateFormat iCertType;
+	};