os/security/cryptoservices/certificateandkeymgmt/certstore/unifiedcertstoreworkingvars.h
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/security/cryptoservices/certificateandkeymgmt/certstore/unifiedcertstoreworkingvars.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,114 @@
1.4 +/*
1.5 +* Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of the License "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +* CUnifiedCertStoreWorkingVars class implementation
1.19 +*
1.20 +*/
1.21 +
1.22 +
1.23 +/**
1.24 + @file
1.25 + @internalComponent
1.26 +*/
1.27 +
1.28 +#include <e32base.h>
1.29 +#include <mctwritablecertstore.h>
1.30 +class CSHA1;
1.31 +class CCertificate;
1.32 +class CX500DistinguishedName;
1.33 +
1.34 +NONSHARABLE_CLASS(CUnifiedCertStoreWorkingVars) : public CBase
1.35 + {
1.36 +public:
1.37 + CUnifiedCertStoreWorkingVars();
1.38 + virtual ~CUnifiedCertStoreWorkingVars();
1.39 +
1.40 +public:
1.41 + /**
1.42 + * This stores the list of Token Types that support the
1.43 + * writable cert store interface.
1.44 + * Used while initializing the store.
1.45 + */
1.46 + RCPointerArray<CCTTokenTypeInfo> iWritableTokenTypes;
1.47 + /**
1.48 + * This stores the list of Token Types that support the
1.49 + * readable cert store interface.
1.50 + * Used while initializing the store.
1.51 + */
1.52 + RCPointerArray<CCTTokenTypeInfo> iReadOnlyTokenTypes;
1.53 +
1.54 + /**
1.55 + * Used to point to the array given as argument when listing certificates.
1.56 + */
1.57 + RMPointerArray<CCTCertInfo>* iCertInfos;
1.58 + /**
1.59 + * Used to point to the filter given as argument when listing certificates.
1.60 + */
1.61 + const CCertAttributeFilter* iFilter;
1.62 +
1.63 + /**
1.64 + * Used to point to the array of applications given as argument when doing
1.65 + * the following operations :
1.66 + * - Applications
1.67 + * - SetApplicability
1.68 + */
1.69 + RArray<TUid>* iApplications;
1.70 +
1.71 + /**
1.72 + * Used to point to the certificate info given as argument when doing the following
1.73 + * operations :
1.74 + * - Applications
1.75 + * - IsApplicable
1.76 + * - Trusted
1.77 + * - Retrieve
1.78 + * - Remove
1.79 + * - SetApplicability
1.80 + * - SetTrust
1.81 + */
1.82 + const CCTCertInfo* iCertInfo;
1.83 +
1.84 + /**
1.85 + * This is used as an index for
1.86 + * - the iWritableTokenTypes array when we are initializing the store.
1.87 + * - the iReadOnlyTokenTypes array when we are initializing the store.
1.88 + */
1.89 + TInt iIndex;
1.90 +
1.91 + /** The first returned certificate to be added to the array during
1.92 + * a list, or the cert whose issuer DN is currently being compared. */
1.93 + TInt iCertIndex;
1.94 +
1.95 + /** The required issuer name for a list. */
1.96 + RPointerArray<TDesC8> iIssuerNames;
1.97 + /** The issuer names in parsed format */
1.98 + RPointerArray<CX500DistinguishedName> iParsedIssuerNames;
1.99 + /** Hashes of issuer names */
1.100 + RPointerArray<HBufC8> iHashedIssuerNames;
1.101 +
1.102 + /** A hash of the issuer DN. Used for comparing DNs in URL certificates */
1.103 + CSHA1* iIssuerHash;
1.104 +
1.105 + /** A descriptor used for storing certs while returning them as
1.106 + CCertificate objects */
1.107 + HBufC8* iCertDesC;
1.108 + /** A pointer to the modifiable descriptor for returning the
1.109 + CCertificate objects - normally points to to iCertDesC */
1.110 + TPtr8 iCertDes;
1.111 +
1.112 + /** Pointer to returned certificate pointer */
1.113 + CCertificate** iReturnedCert;
1.114 +
1.115 + /** Type of the certificate being retrieved */
1.116 + TCertificateFormat iCertType;
1.117 + };