mtpfws/mtpfw/dataproviders/dputility/inc/cmtpcopyobject.h
changeset 18 1b39655331a3
parent 0 d0791faffa3f
child 47 63cf70d3ecd8
--- a/mtpfws/mtpfw/dataproviders/dputility/inc/cmtpcopyobject.h	Fri Mar 19 09:40:39 2010 +0200
+++ b/mtpfws/mtpfw/dataproviders/dputility/inc/cmtpcopyobject.h	Fri Apr 16 15:51:48 2010 +0300
@@ -21,14 +21,18 @@
 #ifndef CMTPCOPYOBJECT_H
 #define CMTPCOPYOBJECT_H
 
+#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
 
@@ -51,7 +55,10 @@
 
 private:	//from CMTPRequestProcessor
 	virtual void ServiceL();
-
+    TMTPResponseCode CheckRequestL();
+    TBool DoHandleCompletingPhaseL();
+    TBool Match(const TMTPTypeRequest& aRequest, MMTPConnection& aConnection) const;
+    
 private:
 	void ConstructL();
 	void GetParametersL();
@@ -60,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;
-	
+	HBufC*								iDest;
+	HBufC*								iNewFileName;
+	TBool									iIsFolder;
+	TUint32								iNewParentHandle;
+	TUint32								iStorageId;
+	TTime									iPreviousModifiedTime;
+  RMTPFramework					iSingletons;
+  RMTPDpSingletons			iDpSingletons;
+  CPeriodic*						iTimer;
 	/**
     FLOGGER debug trace member variable.
     */