mtpfws/mtpfw/inc/cmtpobjectstore.h
branchRCL_3
changeset 23 f5809cfbf6d5
parent 14 60a94a45d437
child 47 63cf70d3ecd8
equal deleted inserted replaced
19:ef55b168cedb 23:f5809cfbf6d5
    25 #include <d32dbms.h>
    25 #include <d32dbms.h>
    26 
    26 
    27 #include "mtpframeworkconst.h"
    27 #include "mtpframeworkconst.h"
    28 #include "rmtpframework.h"
    28 #include "rmtpframework.h"
    29 #include "mtpdebug.h"
    29 #include "mtpdebug.h"
    30 
    30 #include "cmtpreferencemgr.h"
    31 class CFileStore;
    31 class CFileStore;
    32 class CMTPHandleAllocator;
    32 class CMTPHandleAllocator;
    33 class CMTPObjectMetaData;
    33 class CMTPObjectMetaData;
    34 class CMTPPuidMgr;
    34 class CMTPPuidMgr;
    35 class CMTPReferenceMgr;
    35 class CMTPReferenceMgr;
   153 		TDelAction(CMTPObjectStore& aStore, TActionTarget aTarget = EOnlyLoadedDP) : MTraverseAction(aTarget), iStore(aStore)
   153 		TDelAction(CMTPObjectStore& aStore, TActionTarget aTarget = EOnlyLoadedDP) : MTraverseAction(aTarget), iStore(aStore)
   154 			{
   154 			{
   155 			}
   155 			}
   156 		void DoL(RDbTable& aTable)
   156 		void DoL(RDbTable& aTable)
   157 			{
   157 			{
       
   158 			//no need to call GetL already all it in TraverseL
       
   159 			iStore.ReferenceMgr().RemoveReferencesL(aTable.ColUint32(EObjectStoreHandleId));
   158 			aTable.DeleteL();
   160 			aTable.DeleteL();
   159 			iStore.IncTranOpsNumL();
   161 			iStore.IncTranOpsNumL();
   160 			}
   162 			}
   161 	private:
   163 	private:
   162 		CMTPObjectStore& iStore;
   164 		CMTPObjectStore& iStore;
   198 	void RemoveObjectsByStorageIdL(TUint32 aStorageId);
   200 	void RemoveObjectsByStorageIdL(TUint32 aStorageId);
   199 	void RemoveNonPersistentObjectsL(TUint aDataProviderId);
   201 	void RemoveNonPersistentObjectsL(TUint aDataProviderId);
   200 	void MarkNonPersistentObjectsL(TUint aDataProviderId, TUint32 aStorageId);
   202 	void MarkNonPersistentObjectsL(TUint aDataProviderId, TUint32 aStorageId);
   201 	void EstablishDBSnapshotL(TUint32 aStorageId);
   203 	void EstablishDBSnapshotL(TUint32 aStorageId);
   202 	void CleanDBSnapshotL(TBool aOnlyRoot = EFalse);
   204 	void CleanDBSnapshotL(TBool aOnlyRoot = EFalse);
       
   205     void RemoveUndefinedObjectsL();
   203 	void ObjectsEnumComplete();
   206 	void ObjectsEnumComplete();
   204 	void MarkDPLoadedL(TUint aDataProviderId, TBool aFlag);
   207 	void MarkDPLoadedL(TUint aDataProviderId, TBool aFlag);
   205 
   208 
   206 public:
   209 public:
   207 
   210 
   362 	CMtpDeltaDataMgr* 						iMtpDeltaDataMgr;
   365 	CMtpDeltaDataMgr* 						iMtpDeltaDataMgr;
   363 	CDbCompactor*							iCompactor;
   366 	CDbCompactor*							iCompactor;
   364 	TInt                                    iSnapshotCleanPos;
   367 	TInt                                    iSnapshotCleanPos;
   365 	CSnapshotWorker*                        iSnapshotWorker;
   368 	CSnapshotWorker*                        iSnapshotWorker;
   366 	mutable TFileName                       iSuidBuf;
   369 	mutable TFileName                       iSuidBuf;
       
   370 	TBool                                   iCleanUndefined;
   367 	/**
   371 	/**
   368 	 FLOGGER debug trace member variable.
   372 	 FLOGGER debug trace member variable.
   369 	 */
   373 	 */
   370 	__FLOG_DECLARATION_MEMBER_MUTABLE;
   374 	__FLOG_DECLARATION_MEMBER_MUTABLE;
   371 	};
   375 	};