Index: src/libchcore/TSubTaskStatsInfo.h
===================================================================
diff -u -N -r9b8cccbee0fcfeca28a112cc0253a7641f73f74f -ra5f396da5ed5ffb3fcd9fdf22afb5a7fd07e1ab8
--- src/libchcore/TSubTaskStatsInfo.h	(.../TSubTaskStatsInfo.h)	(revision 9b8cccbee0fcfeca28a112cc0253a7641f73f74f)
+++ src/libchcore/TSubTaskStatsInfo.h	(.../TSubTaskStatsInfo.h)	(revision a5f396da5ed5ffb3fcd9fdf22afb5a7fd07e1ab8)
@@ -27,6 +27,8 @@
 #include "TString.h"
 #include "TSimpleTimer.h"
 #include "TSpeedTracker.h"
+#include "ESubTaskTypes.h"
+#include "TSubTaskStatsSnapshot.h"
 
 BEGIN_CHCORE_NAMESPACE
 
@@ -59,7 +61,7 @@
 
 	void Clear();
 
-	void GetSnapshot(TSubTaskStatsSnapshot& rStatsSnapshot) const;
+	void GetSnapshot(TSubTaskStatsSnapshotPtr& spStatsSnapshot) const;
 
 	void IncreaseProcessedCount(size_t stIncreaseBy);
 	void SetProcessedCount(size_t stIndex);
@@ -84,6 +86,9 @@
 	// current path
 	void SetCurrentPath(const TString& strPath);
 
+	ESubOperationType GetSubOperationType() const { return m_eSubOperationType; }
+	void SetSubOperationType(ESubOperationType val) { m_eSubOperationType = val; }
+
 private:
 	TSubTaskStatsInfo(const TSubTaskStatsInfo&);
 	TSubTaskStatsInfo& operator=(const TSubTaskStatsInfo&);
@@ -117,6 +122,7 @@
 
 	TString m_strCurrentPath;		// currently processed path
 
+	ESubOperationType m_eSubOperationType;
 #pragma warning(push)
 #pragma warning(disable: 4251)
 	mutable boost::shared_mutex m_lock;