Clone
ixen <ixen@copyhandler.com>
committed
on 20 Dec 15
Added support for controlling the task (pause/resume/restart/cancel) when in the retry loop.
LoggerImprovements + 5 more
src/libchcore/IFeedbackHandler.h (+3 -0)
28 28 #include "TFeedbackResult.h"
29 29
30 30 namespace chcore
31 31 {
32 32         class TFileInfo;
33 33
34 34         class LIBCHCORE_API IFeedbackHandler
35 35         {
36 36         public:
37 37                 virtual ~IFeedbackHandler();
38 38
39 39                 // requests with some processing data
40 40                 virtual TFeedbackResult FileError(const TString& strSrcPath, const TString& strDstPath, EFileError eFileError, unsigned long ulError) = 0;
41 41                 virtual TFeedbackResult FileAlreadyExists(const TFileInfo& spSrcFileInfo, const TFileInfo& spDstFileInfo) = 0;
42 42                 virtual TFeedbackResult NotEnoughSpace(const TString& strSrcPath, const TString& strDstPath, unsigned long long ullRequiredSize) = 0;
43 43
44 44                 // no-data requests
45 45                 virtual TFeedbackResult OperationFinished() = 0;
46 46                 virtual TFeedbackResult OperationError() = 0;
47 47
  48                 // retry interval (in ms)
  49                 virtual DWORD GetRetryInterval() const = 0;
  50
48 51                 // reset permanent states
49 52                 virtual void RestoreDefaults() = 0;
50 53
51 54                 //serialization
52 55                 virtual void Store(const ISerializerContainerPtr& spContainer) const = 0;
53 56                 virtual void Load(const ISerializerContainerPtr& spContainer) = 0;
54 57         };
55 58
56 59         typedef boost::shared_ptr<IFeedbackHandler> IFeedbackHandlerPtr;
57 60 }
58 61
59 62 #endif