Index: src/libchcore/TSubTaskScanDirectory.cpp =================================================================== diff -u -N -rd76d3ce6c8c55fa23009dbb03b8bc06f482c5b72 -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 --- src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision d76d3ce6c8c55fa23009dbb03b8bc06f482c5b72) +++ src/libchcore/TSubTaskScanDirectory.cpp (.../TSubTaskScanDirectory.cpp) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) @@ -37,6 +37,8 @@ #include "TCoreException.h" #include "ErrorCodes.h" #include "TPathContainer.h" +#include "TScopedRunningTimeTracker.h" +#include "TFeedbackHandlerWrapper.h" BEGIN_CHCORE_NAMESPACE @@ -57,14 +59,14 @@ m_tSubTaskStats.Clear(); } -TSubTaskScanDirectories::ESubOperationResult TSubTaskScanDirectories::Exec() +TSubTaskScanDirectories::ESubOperationResult TSubTaskScanDirectories::Exec(const IFeedbackHandlerPtr& spFeedback) { - TSubTaskProcessingGuard guard(m_tSubTaskStats); + TScopedRunningTimeTracker guard(m_tSubTaskStats); + TFeedbackHandlerWrapperPtr spFeedbackHandler(boost::make_shared(spFeedback, guard)); // log icpf::log_file& rLog = GetContext().GetLog(); TFileInfoArray& rFilesCache = GetContext().GetFilesCache(); - IFeedbackHandlerPtr spFeedbackHandler = GetContext().GetFeedbackHandler(); TWorkerThreadController& rThreadController = GetContext().GetThreadController(); TBasePathDataContainerPtr spBasePaths = GetContext().GetBasePaths(); const TConfig& rConfig = GetContext().GetConfig();