Index: src/libchcore/TSubTaskContext.cpp =================================================================== diff -u -N -r11b0a299be97bc3afaa633d6522c17b214ba3b79 -r9ebcc7abf1e0e70f0db2d08b2691351a26ef259b --- src/libchcore/TSubTaskContext.cpp (.../TSubTaskContext.cpp) (revision 11b0a299be97bc3afaa633d6522c17b214ba3b79) +++ src/libchcore/TSubTaskContext.cpp (.../TSubTaskContext.cpp) (revision 9ebcc7abf1e0e70f0db2d08b2691351a26ef259b) @@ -31,17 +31,19 @@ TSubTaskContext::TSubTaskContext(TConfig& rConfig, const TBasePathDataContainerPtr& spBasePaths, const TFileFiltersArray& rFilters, TTaskConfigTracker& rCfgTracker, icpf::log_file& rLog, - TWorkerThreadController& rThreadController, TLocalFilesystem& rfsLocal) : + TWorkerThreadController& rThreadController, const IFilesystemPtr& spFilesystem) : m_rConfig(rConfig), m_eOperationType(eOperation_None), m_spBasePaths(spBasePaths), m_pathDestination(), m_rCfgTracker(rCfgTracker), m_rLog(rLog), m_rThreadController(rThreadController), - m_rfsLocal(rfsLocal), + m_spFilesystem(spFilesystem), m_rFilters(rFilters) { + if (!spFilesystem) + THROW_CORE_EXCEPTION(eErr_InvalidArgument); } TSubTaskContext::~TSubTaskContext() @@ -123,14 +125,14 @@ return m_rThreadController; } -TLocalFilesystem& TSubTaskContext::GetLocalFilesystem() +IFilesystemPtr TSubTaskContext::GetLocalFilesystem() { - return m_rfsLocal; + return m_spFilesystem; } -const TLocalFilesystem& TSubTaskContext::GetLocalFilesystem() const +const IFilesystemPtr TSubTaskContext::GetLocalFilesystem() const { - return m_rfsLocal; + return m_spFilesystem; } const TFileFiltersArray& TSubTaskContext::GetFilters() const