diff -r 000000000000 -r 164170e6151a pkiutilities/DeviceToken/Inc/DevandTruSrvCertStoreEntryList.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pkiutilities/DeviceToken/Inc/DevandTruSrvCertStoreEntryList.h Tue Jan 26 15:20:08 2010 +0200 @@ -0,0 +1,100 @@ +/* +* 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 DevandTruSrvCertStoreEntryList +* +*/ + + + +#ifndef __DEVANDTRUSRVCERTSTOREENTRYLIST_H__ +#define __DEVANDTRUSRVCERTSTOREENTRYLIST_H__ + +#include + +class CDevandTruSrvCertStoreEntry; + +/** + * An in-memory list of the certs in the store + * + * @lib + * @since S60 v3.2. + */ +class CDevandTruSrvCertStoreEntryList : public CBase + { + public: + + // Create a new, empty cert list + static CDevandTruSrvCertStoreEntryList* NewLC(); + + // Read the cert list from a stream + static CDevandTruSrvCertStoreEntryList* NewL(RReadStream& aStream); + + virtual ~CDevandTruSrvCertStoreEntryList(); + + // Write the cert list to a stream + void ExternalizeL(RWriteStream& aStream) const; + + // Get the number of certificates in the list + TInt Count() const; + + /** + * Get the index of a mapping given the cert handle + * + * @param aHandle + * @return The index of the cert or KErrNotFound if it is not present + */ + TInt IndexForHandle(TInt aHandle) const; + + // Determine whether a certificate exists with the specified label + TBool LabelExists(const TDesC& aLabel) const; + + /** + * Get a mapping given the cert handle + * leave KErrNotFound If the specified cert is not present + * + * @param aHandle + * @return + */ + const CDevandTruSrvCertStoreEntry& GetByHandleL(TInt aHandle) const; + + // Get a mapping given its index. + const CDevandTruSrvCertStoreEntry& GetByIndex(TInt aIndex) const; + + // Get the next free handle to use when adding a cert + TInt NextFreeHandle() const; + + // Add a mapping and return its index, takes ownership + TInt AppendL(CDevandTruSrvCertStoreEntry* aEntry); + + // Removes and returns an entry from the list, relinquishes ownership + CDevandTruSrvCertStoreEntry* Remove(TInt aIndex); + + // Replace an entry and return the old one, takes/relinquishes ownership + CDevandTruSrvCertStoreEntry* Replace(TInt aIndex, CDevandTruSrvCertStoreEntry* aEntry); + + private: + + CDevandTruSrvCertStoreEntryList(); + + void InternalizeL(RReadStream& aStream); + + private: + + RPointerArray iEntries; + }; + +#endif //__DEVANDTRUSRVCERTSTOREENTRYLIST_H__ + +//EOF +