Index: src/libchcore/TTask.h =================================================================== diff -u -N -rd32a79f0e9220bad2c6eeb5e8a986228b6e832fb -rb7655a8f0721e5454befd29e3e067748eb0521e9 --- src/libchcore/TTask.h (.../TTask.h) (revision d32a79f0e9220bad2c6eeb5e8a986228b6e832fb) +++ src/libchcore/TTask.h (.../TTask.h) (revision b7655a8f0721e5454befd29e3e067748eb0521e9) @@ -34,6 +34,7 @@ #include "TSubTaskContext.h" #include "TTaskStatsSnapshot.h" #include "ISerializer.h" +#include "TModificationTracker.h" BEGIN_CHCORE_NAMESPACE @@ -126,16 +127,28 @@ ISerializerPtr GetSerializer() const; private: + // serialization #pragma warning(push) #pragma warning(disable: 4251) ISerializerPtr m_spSerializer; #pragma warning(pop) + bool m_bWasSerialized; - TString m_strTaskName; + // base data +#pragma region Base data + bool m_bBaseDataChanged; +#pragma warning(push) +#pragma warning(disable: 4251) + TSharedModificationTracker m_strTaskName; + TSharedModificationTracker m_eCurrentState; // current state of processing this task represents + TSharedModificationTracker m_pathLog; + TSharedModificationTracker m_pathDestinationPath; +#pragma warning(pop) +#pragma endregion + // basic information TPathContainer m_vSourcePaths; - TSmartPath m_pathDestinationPath; // Global task settings TConfig m_tConfiguration; @@ -152,17 +165,13 @@ // 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