sl@0: /* sl@0: * Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * CUnifiedCertStoreWorkingVars class implementation sl@0: * sl@0: */ sl@0: sl@0: sl@0: /** sl@0: @file sl@0: @internalComponent sl@0: */ sl@0: sl@0: #include sl@0: #include sl@0: class CSHA1; sl@0: class CCertificate; sl@0: class CX500DistinguishedName; sl@0: sl@0: NONSHARABLE_CLASS(CUnifiedCertStoreWorkingVars) : public CBase sl@0: { sl@0: public: sl@0: CUnifiedCertStoreWorkingVars(); sl@0: virtual ~CUnifiedCertStoreWorkingVars(); sl@0: sl@0: public: sl@0: /** sl@0: * This stores the list of Token Types that support the sl@0: * writable cert store interface. sl@0: * Used while initializing the store. sl@0: */ sl@0: RCPointerArray iWritableTokenTypes; sl@0: /** sl@0: * This stores the list of Token Types that support the sl@0: * readable cert store interface. sl@0: * Used while initializing the store. sl@0: */ sl@0: RCPointerArray iReadOnlyTokenTypes; sl@0: sl@0: /** sl@0: * Used to point to the array given as argument when listing certificates. sl@0: */ sl@0: RMPointerArray* iCertInfos; sl@0: /** sl@0: * Used to point to the filter given as argument when listing certificates. sl@0: */ sl@0: const CCertAttributeFilter* iFilter; sl@0: sl@0: /** sl@0: * Used to point to the array of applications given as argument when doing sl@0: * the following operations : sl@0: * - Applications sl@0: * - SetApplicability sl@0: */ sl@0: RArray* iApplications; sl@0: sl@0: /** sl@0: * Used to point to the certificate info given as argument when doing the following sl@0: * operations : sl@0: * - Applications sl@0: * - IsApplicable sl@0: * - Trusted sl@0: * - Retrieve sl@0: * - Remove sl@0: * - SetApplicability sl@0: * - SetTrust sl@0: */ sl@0: const CCTCertInfo* iCertInfo; sl@0: sl@0: /** sl@0: * This is used as an index for sl@0: * - the iWritableTokenTypes array when we are initializing the store. sl@0: * - the iReadOnlyTokenTypes array when we are initializing the store. sl@0: */ sl@0: TInt iIndex; sl@0: sl@0: /** The first returned certificate to be added to the array during sl@0: * a list, or the cert whose issuer DN is currently being compared. */ sl@0: TInt iCertIndex; sl@0: sl@0: /** The required issuer name for a list. */ sl@0: RPointerArray iIssuerNames; sl@0: /** The issuer names in parsed format */ sl@0: RPointerArray iParsedIssuerNames; sl@0: /** Hashes of issuer names */ sl@0: RPointerArray iHashedIssuerNames; sl@0: sl@0: /** A hash of the issuer DN. Used for comparing DNs in URL certificates */ sl@0: CSHA1* iIssuerHash; sl@0: sl@0: /** A descriptor used for storing certs while returning them as sl@0: CCertificate objects */ sl@0: HBufC8* iCertDesC; sl@0: /** A pointer to the modifiable descriptor for returning the sl@0: CCertificate objects - normally points to to iCertDesC */ sl@0: TPtr8 iCertDes; sl@0: sl@0: /** Pointer to returned certificate pointer */ sl@0: CCertificate** iReturnedCert; sl@0: sl@0: /** Type of the certificate being retrieved */ sl@0: TCertificateFormat iCertType; sl@0: };