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;