cryptoservices/certificateandkeymgmt/tadditionalstores/tadditionalstoremappings.h
changeset 0 2c201484c85f
child 8 35751d3474b7
--- /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 <s32file.h>
+#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<CFileCertStoreMapping>* iMappings;
+	TStreamId iStreamId;
+	CPermanentFileStore& iStore;
+	};
+
+#endif