diff -r 3b7506f63335 -r f3d2589f22d6 mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/csendobject.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/csendobject.h Wed Jun 16 16:05:08 2010 +0100 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/csendobject.h Thu Jul 22 16:38:21 2010 +0100 @@ -187,12 +187,6 @@ TBool IsTooLarge( TUint64 aObjectSize ) const; /** - * Check if we can store the file on the storage - * @return ETrue if yes, otherwise EFalse - */ - TBool CanStoreFileL( TUint32 aStorageId, TInt64 aObjectSize ) const; - - /** * Get the full path name of the object to be saved * @param aFileName, on entry, contains the file name of the object, * on return, contains the full path name of the object to be saved @@ -208,7 +202,7 @@ /** * Reserve object information before SendObject */ - void ReserveObjectL(); + TInt ReserveObjectL(); /** * Set protection status of object which could be read/write-only @@ -227,10 +221,13 @@ void AddMediaToStoreL(); /** - * delete the file, which transfer incompletely + * Rollback functions */ void Rollback(); + void UnreserveObjectL(); + void RemoveObjectFromDbL(); + void RemoveObjectFromFs(); private: enum TMTPSendingObjectState @@ -244,6 +241,8 @@ ESendObjectFail }; + typedef void ( CSendObject::*TMmMtpRollbackAction )(); + private: RFs& iFs; MMTPObjectMgr& iObjectMgr; @@ -282,7 +281,7 @@ // params which is needed for reserve handle TMTPTypeRequest iExpectedSendObjectRequest; - TBool iNoRollback; + RArray iRollbackList; TUint32 iPreviousTransactionID; TUint32 iPreviousOperation;