diff -r d07aa956024a -r 030c4fbc13d7 authenticationservices/authenticationserver/test/reftestplugin/pinplugin/pinplugindb.h --- a/authenticationservices/authenticationserver/test/reftestplugin/pinplugin/pinplugindb.h Thu Apr 01 00:24:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -/* -* Copyright (c) 2006-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: -* CPinPluginDB pin plugin data store declaration -* -*/ - - -/** - @file -*/ - -#ifndef PIN_PLUGINDB_H -#define PIN_PLUGINDB_H - -#include -#include - -// PinPlugin DB -class CPinPluginDB : public CBase - { -public: - /** static methods to constuct the object of the CPinPluginDB */ - static CPinPluginDB* NewL(); - static CPinPluginDB* NewLC(); - - /** Destructor */ - virtual ~CPinPluginDB(); - - /** - Add Id and KeyHash to the store if the id is not exist in the - store and pin is not used by any other id. - - @param aId The Id to be Trained - @param aIdentityKeyHash The pin used to Train the Id - @leave It leaves with KErrAlreadyExists if the id is - already exist or pin is used by other identity. - */ - void AddPinL(const AuthServer::TIdentityId& aId, const TDesC8& aIdentityKeyHash); - - /** - Update the Id and Pin in the store With the new Pin, if the id exists. - - @param aId The Id to be ReTrained - @param aIdentityKeyHash The pin used to ReTrain the Id - @leave It leaves with KErrNotFound if the id is - not exist. - */ - void UpdatePinL(const AuthServer::TIdentityId& aId, const TDesC8& aIdentityKeyHash); - - /** - Remove the Id from the store, if the Id exists - - @param aId The Id to be ReTrained - @leave It leaves with KErrNotFound if the id is - not exist. - */ - void RemovePinL(const AuthServer::TIdentityId& aId); - - /** - Searches the pinvalue in the store - - @param aIdentityKeyHash The pinvalue to be search for - @return It return the IdentityId for the pin, if search - is success else return KUnknownIdentity. - */ - AuthServer::TIdentityId IdFromPin(const TDesC8& aIdentityKeyHash) const; - - /** - Searches the Id in the store. - - @param aId The Id to be search for. - @return It return the index of the Id if the search - is success else return KErrNotFound. - */ - TInt IdIndex(const AuthServer::TIdentityId& aId) const ; - - /** - Verifies the pin is unique. - - @param aIdentityKeyHash The pinvalue to be search for - @return return ETrue if the pin is not used by any of - the identity else EFalse. - */ - TBool IsUniquePin(const TDesC8& aIdentityKeyHash) const; - -private: - CPinPluginDB(); - void ConstructL(); - -private: - /** - Create and open a New Store If it is first time - else Open the existing store. - */ - void OpenStoreL(); - - /** - Open the existing store - @param aFile The name of the file to open - */ - void OpenStoreInFileL(const TDesC& aFile); - - /** - Create the new store - @param aFile The name of the file to create - */ - void CreateStoreInFileL(const TDesC& aFile); - - /** - Write the In memory represtation to the store. - */ - void WriteIdKeysToStoreL(); - - /** - Read the Id and keys from the store - */ - void ReadIdKeysFromStoreL(); - -private: - /** - Methods dealing with atomic updates to key data file - cleanup item that reverts the store. - */ - static void RevertStore(TAny* aStore); - /** - Attempt to compact the store - it doesn't matter if these calls leave, it - will only mean that the store takes up more space than necessary. - */ - void CompactStore(); -private: - RFile iFile; - RFs iFs; - /** FileStore Object */ - CPermanentFileStore* iFileStore; - /** Root Stream that constains identityStreamId */ - TStreamId iRootStreamId; - /** Identity Stream that contains dataStreamId and count of idHashes stored in the DB */ - TStreamId iIdentityStreamId; - /** DB file Name */ - TFileName iPluginDBName; -private: - /** In memory representation of id in the store */ - RArray iId; - /** In memory representation of hash in the store */ - RPointerArray iIdKeyHash; - }; - -#endif /* PIN_PLUGINDB_H */