mtpfws/mtpfw/dataproviders/dputility/inc/cmtpcopyobject.h
branchRCL_3
changeset 14 60a94a45d437
parent 12 8b094906a049
child 48 debf68073f2f
--- a/mtpfws/mtpfw/dataproviders/dputility/inc/cmtpcopyobject.h	Mon Mar 15 12:43:12 2010 +0200
+++ b/mtpfws/mtpfw/dataproviders/dputility/inc/cmtpcopyobject.h	Wed Mar 31 22:58:56 2010 +0300
@@ -24,12 +24,15 @@
 #include "rmtpframework.h"
 #include "cmtprequestprocessor.h"
 #include "mtpdebug.h"
+#include "rmtpdpsingletons.h"
 
 class RFs;
 class CFileMan;
 class CMTPObjectMetaData;
 class CMTPObjectPropertyMgr;
 
+const TInt KCopyObjectTimeOut = 180000000; // 180s
+
 /** 
 Defines data provider CopyObject request processor
 
@@ -53,6 +56,8 @@
 private:	//from CMTPRequestProcessor
 	virtual void ServiceL();
     TMTPResponseCode CheckRequestL();
+    TBool DoHandleCompletingPhaseL();
+    TBool Match(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) const;
     
 private:
 	void ConstructL();
@@ -62,19 +67,26 @@
 	TMTPResponseCode CanCopyObjectL(const TDesC& aOldName, const TDesC& aNewName) const;
 	void GetPreviousPropertiesL(const TDesC& aFileName);
 	void SetPreviousPropertiesL(const TDesC& aFileName);
-	TUint32 CopyFileL(const TDesC& aNewFileName);
+	void CopyFileL(const TDesC& aNewFileName);
 	TUint32 CopyFolderL(const TDesC& aNewFolderName);
 	void SetPropertiesL(TUint32 aSourceHandle, const CMTPObjectMetaData& aTargetObject);	
 	TUint32 UpdateObjectInfoL(const TDesC& aNewObject);
+	static TInt OnTimeoutL(TAny* aPtr);
+	void DoOnTimeoutL();
+	void RunL();
 	
 private:
-	CFileMan*				iFileMan;
+	CFileMan*							iFileMan;
 	CMTPObjectMetaData*		iObjectInfo;	//Not owned.
-	HBufC*					iDest;
-	TUint32					iNewParentHandle;
-	TUint32					iStorageId;
-	TTime					iPreviousModifiedTime;
-    RMTPFramework           iSingletons;
+	HBufC*								iDest;
+	HBufC*								iNewFileName;
+	TBool									iIsFolder;
+	TUint32								iNewParentHandle;
+	TUint32								iStorageId;
+	TTime									iPreviousModifiedTime;
+  RMTPFramework					iSingletons;
+  RMTPDpSingletons			iDpSingletons;
+  CPeriodic*						iTimer;
 	/**
     FLOGGER debug trace member variable.
     */