Index: src/libchcore/TTaskManager.cpp =================================================================== diff -u -N -r30297d6aab17483da8e7b8323b4d17ff1a9f78d6 -r458af7bf8c35950fdeb4b906950437596324aea1 --- src/libchcore/TTaskManager.cpp (.../TTaskManager.cpp) (revision 30297d6aab17483da8e7b8323b4d17ff1a9f78d6) +++ src/libchcore/TTaskManager.cpp (.../TTaskManager.cpp) (revision 458af7bf8c35950fdeb4b906950437596324aea1) @@ -31,13 +31,13 @@ //////////////////////////////////////////////////////////////////////////////// // TTaskManager members TTaskManager::TTaskManager(const ISerializerFactoryPtr& spSerializerFactory, - IFeedbackHandlerFactory* piFeedbackHandlerFactory, + const IFeedbackHandlerFactoryPtr& spFeedbackHandlerFactory, bool bForceRecreateSerializer) : m_stNextTaskID(NoTaskID + 1), m_spSerializerFactory(spSerializerFactory), - m_piFeedbackFactory(piFeedbackHandlerFactory) + m_spFeedbackFactory(spFeedbackHandlerFactory) { - if(!piFeedbackHandlerFactory || !spSerializerFactory) + if(!spFeedbackHandlerFactory || !spSerializerFactory) THROW_CORE_EXCEPTION(eErr_InvalidPointer); m_spSerializer = m_spSerializerFactory->CreateSerializer(ISerializerFactory::eObj_TaskManager, _T(""), bForceRecreateSerializer); } @@ -49,10 +49,10 @@ TTaskPtr TTaskManager::CreateTask(const TTaskDefinition& tTaskDefinition) { - IFeedbackHandler* piHandler = CreateNewFeedbackHandler(); + IFeedbackHandlerPtr spHandler = m_spFeedbackFactory->Create(); ISerializerPtr spSerializer = m_spSerializerFactory->CreateSerializer(ISerializerFactory::eObj_Task, tTaskDefinition.GetTaskName()); - TTaskPtr spTask(new TTask(spSerializer, piHandler)); + TTaskPtr spTask(new TTask(spSerializer, spHandler)); spTask->SetLogPath(CreateTaskLogPath(tTaskDefinition.GetTaskName())); spTask->SetTaskDefinition(tTaskDefinition); @@ -428,17 +428,6 @@ } } -IFeedbackHandler* TTaskManager::CreateNewFeedbackHandler() -{ - BOOST_ASSERT(m_piFeedbackFactory); - if(!m_piFeedbackFactory) - return NULL; - - IFeedbackHandler* piHandler = m_piFeedbackFactory->Create(); - - return piHandler; -} - void TTaskManager::Store() { ISerializerContainerPtr spContainer = m_spSerializer->GetContainer(_T("tasks")); @@ -475,10 +464,10 @@ if(!rEntry.GetTask()) { - IFeedbackHandler* piHandler = CreateNewFeedbackHandler(); + IFeedbackHandlerPtr spHandler = m_spFeedbackFactory->Create(); ISerializerPtr spSerializer(m_spSerializerFactory->CreateSerializer(ISerializerFactory::eObj_Task, rEntry.GetTaskSerializeLocation().ToWString())); - TTaskPtr spTask(new TTask(spSerializer, piHandler)); + TTaskPtr spTask(new TTask(spSerializer, spHandler)); spTask->Load(); rEntry.SetTask(spTask);