Index: src/libchcore/TTask.h =================================================================== diff -u -r9479911a096555a7504c5c8a8eaee83ecb63440c -r320c4eb6ba3a38dcd6fbda6a9a12a8350a153e41 --- src/libchcore/TTask.h (.../TTask.h) (revision 9479911a096555a7504c5c8a8eaee83ecb63440c) +++ 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" @@ -33,8 +33,8 @@ #include "TSubTaskArray.h" #include "TSubTaskContext.h" #include "TTaskStatsSnapshot.h" -#include "ITaskSerializer.h" #include "ISerializer.h" +#include "TTaskBaseData.h" BEGIN_CHCORE_NAMESPACE @@ -46,7 +46,7 @@ class LIBCHCORE_API TTask { private: - TTask(const ISerializerPtr& spSerializer, IFeedbackHandler* piFeedbackHandler); + TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler); public: ~TTask(); @@ -127,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; @@ -147,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 @@ -180,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; };