Index: src/ch/FeedbackHandler.h =================================================================== diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r0d5b67ee96b435d63f7bf075dc8e28603793b187 --- src/ch/FeedbackHandler.h (.../FeedbackHandler.h) (revision d5c3edd0d167db9b5d47d04248820fda49499a5e) +++ src/ch/FeedbackHandler.h (.../FeedbackHandler.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2001-2008 by J�zef Starosczyk * + * Copyright (C) 2001-2008 by Jozef Starosczyk * * ixen@copyhandler.com * * * * This program is free software; you can redistribute it and/or modify * @@ -19,76 +19,29 @@ #ifndef __FEEDBACKHANDLER_H__ #define __FEEDBACKHANDLER_H__ -#include "../libchcore/FeedbackHandlerBase.h" -#include "FileInfo.h" +#include "../libchengine/TFeedbackHandlerBase.h" -struct FEEDBACK_ALREADYEXISTS +namespace string { - CFileInfo* pfiSrc; - CFileInfo* pfiDst; -}; + class TString; +} -struct FEEDBACK_FILEERROR +class CFeedbackHandler : public chengine::TFeedbackHandlerBase { - const tchar_t* pszPath; - ulong_t ulError; -}; - -struct FEEDBACK_NOTENOUGHSPACE -{ - ull_t ullRequiredSize; - const tchar_t* pszSrcPath; - const tchar_t* pszDstPath; -}; - -class CFeedbackHandler : public chcore::IFeedbackHandler -{ public: - enum EFeedbackType - { - eFT_Unknown = 0, - eFT_FileAlreadyExists, - eFT_FileError, - eFT_NotEnoughSpace, - eFT_LastType - }; - - enum EFeedbackResult - { - eResult_Unknown = 0, - eResult_Overwrite, - eResult_CopyRest, - eResult_Skip, - eResult_Cancel, - eResult_Pause, - eResult_Retry - }; - -protected: CFeedbackHandler(); - ~CFeedbackHandler(); + virtual ~CFeedbackHandler(); -public: - virtual ull_t RequestFeedback(ull_t ullFeedbackID, ptr_t pFeedbackParam); - virtual void Delete(); + chengine::TFeedbackResult FileError(const string::TString& strSrcPath, const string::TString& strDstPath, chengine::EFileError eFileError, unsigned long ulError) override; + chengine::TFeedbackResult FileAlreadyExists(const chengine::TFileInfo& spSrcFileInfo, const chengine::TFileInfo& spDstFileInfo) override; + chengine::TFeedbackResult NotEnoughSpace(const string::TString& strSrcPath, const string::TString& strDstPath, unsigned long long ullRequiredSize) override; + chengine::TFeedbackResult OperationFinished() override; + chengine::TFeedbackResult OperationError() override; protected: - EFeedbackResult m_aeFeedbackTypeStatus[eFT_LastType]; - friend class CFeedbackHandlerFactory; }; -class CFeedbackHandlerFactory : public chcore::IFeedbackHandlerFactory -{ -protected: - CFeedbackHandlerFactory() {} - ~CFeedbackHandlerFactory() {} +typedef std::shared_ptr CFeedbackHandlerPtr; -public: - chcore::IFeedbackHandler* Create(); - virtual void Delete(); - - static IFeedbackHandlerFactory* CreateFactory(); -}; - #endif