--- a/remotestoragefw/remotefileengine/inc/rsfwfiletable.h Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2003-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: data struct for remote files metadata
-*
-*/
-
-
-#ifndef C_RSFWFILETABLE_H
-#define C_RSFWFILETABLE_H
-
-#include <e32base.h>
-#include <f32file.h>
-#include "rsfwmetadatastore.h"
-
-class CRsfwVolume;
-class CRsfwFileEntry;
-class TFid;
-class TMetaDataEvent;
-
-/** file where permanent metadata is stored */
-_LIT(KMetaDataFileName, "M.dat");
-
-/** an entry has been added */
-const TInt KNotifyNodeAdded = 1;
-
-/** an entry has been modified */
-const TInt KNotifyNodeModified = 2;
-
-/** an entry has been deleted */
-const TInt KNotifyNodeRemoved = 3;
-
-/** size of the buffer used when writing file entry to permanent metadata */
-const TInt KMaxExternalizedFileEntrySize = 1024;
-
-/** internal state bits */
-
-/** local changes (eg caching bits) */
-const TUint KNodeLocallyDirty = 0x0001;
-/** remote changes */
-const TUint KNodeRemotelyDirty = 0x0002;
-/** temp mark for various purposes */
-const TUint KNodeMarked = 0x0004;
-
-const TUint KNodeHasValidLock = 0x0008;
-const TUint KNodeOpenedForWriting = 0x0010;
-
-const TUint KNodeWritingCancelled = 0x0020;
-
-const TUint KNodePartlyCached = 0x0100;
-
-/** indicates that a file that has been
-opened has been created (instead of opening
-an already existing file). This affects
-logic when closing the file (PUT + RENAME
-trick to protect the existing file in case of
-cancelled PUT is not used)
- **/
-const TUint KNodeNewlyCreated = 0x0200;
-
-
-class TMetaDataEvent
- {
-public:
- TInt iEvent; // notified event
- TInt iNodeId; // node id
- CRsfwFileEntry* iEntry; // file entry
- };
-
-
-class CRsfwFileTable: public CBase
- {
-private:
- enum TMetaDataState
- {
- EMetaDataSaveNone = 0, // meta data saving has not started yet
- EMetaDataSaveStarted, // meta data saving has been started
- EMetaDataSaveFailed // meta data saving has failed
- };
-
- class TMetaDataSlot
- {
- public:
- TInt iNodeId; // node id
- TInt iSlotId; // slot index
- };
-
-public:
- static CRsfwFileTable* NewL(CRsfwVolume* aVolume, TFileName& aCachePath);
-
- inline CRsfwVolume* Volume();
- inline CRsfwFileEntry* Root();
-
- ~CRsfwFileTable();
-
- // add node to three
- void AddL(CRsfwFileEntry* aFep);
-
- // remove node from thee
- void RemoveL(CRsfwFileEntry* aFep);
-
- // lookup three
- CRsfwFileEntry *Lookup(const TFid& aFid);
- void DumpL(TBool aAll);
- inline const TBool Permanence() const;
- void SetPermanenceL(TBool aPermanence);
- void HandleMetaDataEvent(TInt aEvent, CRsfwFileEntry* aFep);
- CRsfwFileEntry* LoadMetaDataL();
- TInt SaveMetaDataDelta();
- void SetupCacheL();
- TInt TotalCachedSize();
- TInt TotalEntryCount();
- inline TInt OpenFileCount();
- inline void UpdateOpenFileCount(TInt aDelta);
- void ResolveDirtyFilesL();
- void ResolveDirtyFileL(CRsfwFileEntry* aFep);
-
-
-private:
- void ConstructL(CRsfwVolume* aVolume, TFileName& aCachePath);
- void ClearCacheL();
- void ConstructL(RReadStream& aStream);
- TMetaDataEvent* NodeEvent(TInt aNodeId);
- void AddEvent(TInt aEvent, CRsfwFileEntry* aFep);
- void RemoveEvent(TInt aNodeId);
- void LoadNodeL(CRsfwFileEntry*& aFep, TInt &aSlot);
- void SaveNodeL(CRsfwFileEntry* aFep, TInt &aSlot);
- void SaveMetaDataDeltaL();
-
-private:
- RFs iFs; // inherited from RFE environment
- TInt iNodeId; // next node id to assign
- CRsfwVolume* iVolume; // volume info
- CRsfwFileEntry* iRootFep; // root file entry
- TFileName iCachePath; // cache directory path
- TBool iPermanence; // permanent meta data
- RArray<TMetaDataEvent> iMetaDataEvents; // dirty entries since last flush
- CRsfwMetaDataStore* iMetaDataStore; // permanent store for metadata
- RArray<TMetaDataSlot> iMetaDataSlots; // maps file slot to node ids
- TFileName iMetaDataFilePath; // meta data file path
- TInt iMetaDataSaveState; // the state of meta data saving
- CRsfwFileEntry* iCurrentParent; // parent of last looked up entry
- TInt iOpenFileCount; // count of open files
- };
-
-#include "rsfwfiletable.inl"
-
-#endif
\ No newline at end of file