diff -r 000000000000 -r 2c201484c85f cryptoservices/certificateandkeymgmt/tadditionalstores/tadditionalstoremappings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cryptoservices/certificateandkeymgmt/tadditionalstores/tadditionalstoremappings.h Wed Jul 08 11:25:26 2009 +0100 @@ -0,0 +1,76 @@ +/* +* 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: +* FILECERTSTOREMAPPINGS.H +* CFileCertStoreMappings class implementation +* +*/ + + + + +/** + @file + @internalTechnology +*/ + +#ifndef __FILECERTSTOREMAPPINGS_H__ +#define __FILECERTSTOREMAPPINGS_H__ + +#include +#include "tadditionalstoremapping.h" + + +class CFileCertStoreMappings : public CBase + { +public: + static CFileCertStoreMappings* NewL(TStreamId aStreamId, + CPermanentFileStore& aStore); + void ConstructL(); + ~CFileCertStoreMappings(); + TInt Count(); + void AddL(CFileCertStoreMapping* aEntry); + /** + * Removes an entry from the list + * @param aEntry The entry to delete + * @return KErrNotFound if aEntry is not found in the list, KErrNone is the + * entry was successfully deleted. + */ + TInt Remove(const CCTCertInfo& aEntry); + TInt SetTempRemove(const CCTCertInfo& aCertInfo, TBool aFlag); + void UpdateL(const CCTCertInfo& aEntry); + void ReplaceL(); + /** + * Returns the index in the store of aEntry. The function goes through + * the store entries and returns the index of the first entry whose label + * matches the label of aEntry. + * @param aEntry The entry we want the index of. + * @return The index of aEntry in the store. + */ + TInt Index(const CCTCertInfo& aEntry); + CFileCertStoreMapping* Mapping(TInt aIndex); + TStreamId StreamId() const; + const CCTCertInfo& Entry(TInt aIndex); + const CCTCertInfo& EntryByHandleL(TInt aHandle) const; + TInt NextHandle() const; + +protected: + CFileCertStoreMappings(TStreamId aStreamId, CPermanentFileStore& aStore); + void ExternalizeL(RWriteStream& aStream) const; + RPointerArray* iMappings; + TStreamId iStreamId; + CPermanentFileStore& iStore; + }; + +#endif