Index: src/libchcore/TSubTaskContext.h =================================================================== diff -u -N -r12a1725bfd04b0f55fd0fda302975fdcd4174943 -r9ba9390b8f79c7a3fd1f9d6d9e92038d92222621 --- src/libchcore/TSubTaskContext.h (.../TSubTaskContext.h) (revision 12a1725bfd04b0f55fd0fda302975fdcd4174943) +++ src/libchcore/TSubTaskContext.h (.../TSubTaskContext.h) (revision 9ba9390b8f79c7a3fd1f9d6d9e92038d92222621) @@ -24,6 +24,8 @@ #define __TSUBTASKCONTEXT_H__ #include "libchcore.h" +#include "TPath.h" +#include "EOperationTypes.h" namespace icpf { @@ -33,35 +35,42 @@ BEGIN_CHCORE_NAMESPACE class IFeedbackHandler; -class TTaskDefinition; class TWorkerThreadController; class TBasePathDataContainer; class TTaskConfigTracker; class TLocalFilesystem; class TTaskLocalStatsInfo; class TTaskBasicProgressInfo; class TFileInfoArray; +class TConfig; /////////////////////////////////////////////////////////////////////////// // TSubTaskContext class LIBCHCORE_API TSubTaskContext { public: - TSubTaskContext(TTaskDefinition& rTaskDefinition, TBasePathDataContainer& rBasePathDataContainer, TFileInfoArray& rFilesCache, + TSubTaskContext(TConfig& rConfig, + TBasePathDataContainer& rBasePathDataContainer, TFileInfoArray& rFilesCache, TTaskConfigTracker& rCfgTracker, icpf::log_file& rLog, IFeedbackHandler* piFeedbackHandler, TWorkerThreadController& rThreadController, TLocalFilesystem& rfsLocal); ~TSubTaskContext(); - TTaskDefinition& GetTaskDefinition() { return m_rTaskDefinition; } - const TTaskDefinition& GetTaskDefinition() const { return m_rTaskDefinition; } + TConfig& GetConfig() { return m_rConfig; } + const TConfig& GetConfig() const { return m_rConfig; } + chcore::EOperationType GetOperationType() const { return m_eOperationType; } + void SetOperationType(chcore::EOperationType eOperationType) { m_eOperationType = eOperationType; } + TBasePathDataContainer& GetBasePathDataContainer() { return m_rBasePathDataContainer; } const TBasePathDataContainer& GetBasePathDataContainer() const { return m_rBasePathDataContainer; } TFileInfoArray& GetFilesCache() { return m_rFilesCache; } const TFileInfoArray& GetFilesCache() const { return m_rFilesCache; } + TSmartPath GetDestinationPath() const { return m_pathDestination; } + void SetDestinationPath(const TSmartPath& pathDestination) { m_pathDestination = pathDestination; } + TTaskConfigTracker& GetCfgTracker() { return m_rCfgTracker; } const TTaskConfigTracker& GetCfgTracker() const { return m_rCfgTracker; } @@ -82,14 +91,18 @@ TSubTaskContext& operator=(const TSubTaskContext& rSrc); private: - TTaskDefinition& m_rTaskDefinition; + TConfig& m_rConfig; + EOperationType m_eOperationType; + // information about input paths TBasePathDataContainer& m_rBasePathDataContainer; // data on which to operate TFileInfoArray& m_rFilesCache; + TSmartPath m_pathDestination; + // configuration changes tracking TTaskConfigTracker& m_rCfgTracker;