Index: src/libchcore/TTask.h =================================================================== diff -u -rd32a79f0e9220bad2c6eeb5e8a986228b6e832fb -r320c4eb6ba3a38dcd6fbda6a9a12a8350a153e41 --- src/libchcore/TTask.h (.../TTask.h) (revision d32a79f0e9220bad2c6eeb5e8a986228b6e832fb) +++ src/libchcore/TTask.h (.../TTask.h) (revision 320c4eb6ba3a38dcd6fbda6a9a12a8350a153e41) @@ -21,7 +21,7 @@ #include "libchcore.h" #include "TWorkerThreadController.h" -#include "FeedbackHandlerBase.h" +#include "IFeedbackHandler.h" #include "TTaskDefinition.h" #include "TTaskConfigTracker.h" #include "TBasePathData.h" @@ -34,6 +34,7 @@ #include "TSubTaskContext.h" #include "TTaskStatsSnapshot.h" #include "ISerializer.h" +#include "TTaskBaseData.h" BEGIN_CHCORE_NAMESPACE @@ -45,7 +46,7 @@ class LIBCHCORE_API TTask { private: - TTask(const ISerializerPtr& spSerializer, IFeedbackHandler* piFeedbackHandler); + TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler); public: ~TTask(); @@ -126,16 +127,21 @@ ISerializerPtr GetSerializer() const; private: + // serialization #pragma warning(push) #pragma warning(disable: 4251) ISerializerPtr m_spSerializer; + IFeedbackHandlerPtr m_spFeedbackHandler; #pragma warning(pop) - TString m_strTaskName; + // base data + TTaskBaseData m_tBaseData; // basic information - TPathContainer m_vSourcePaths; - TSmartPath m_pathDestinationPath; +#pragma warning(push) +#pragma warning(disable: 4251) + TBasePathDataContainerPtr m_spSrcPaths; +#pragma warning(pop) // Global task settings TConfig m_tConfiguration; @@ -146,23 +152,17 @@ TTaskConfigTracker m_cfgTracker; - TBasePathDataContainer m_arrSourcePathsInfo; - // current task state (derivatives of the task initial information) // changing slowly or only partially TFileInfoArray m_files; // list of files/directories found during operating on the task input data (filled by search for files) - // changing fast - volatile ETaskCurrentState m_eCurrentState; // current state of processing this task represents - // task settings TFileFiltersArray m_afFilters; // filtering settings for files (will be filtered according to the rules inside when searching for files) bool m_bForce; // if the continuation of tasks should be independent of max concurrently running task limit bool m_bContinue; // allows task to continue // other helpers - TSmartPath m_pathLog; icpf::log_file m_log; ///< Log file where task information will be stored // Local filesystem access @@ -179,9 +179,6 @@ mutable boost::shared_mutex m_lock; #pragma warning(pop) - /// Pointer to the feedback handler, providing responses to feedback requests - IFeedbackHandler* m_piFeedbackHandler; - friend class TTaskManager; };