00001 #include "otsdaq-core/CoreSupervisors/DataManagerSupervisor.h"
00002 #include "otsdaq-core/DataManager/DataManager.h"
00003 #include "otsdaq-core/DataManager/DataManagerSingleton.h"
00004 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h"
00005
00006 using namespace ots;
00007
00008 XDAQ_INSTANTIATOR_IMPL(DataManagerSupervisor)
00009
00010
00011 DataManagerSupervisor::DataManagerSupervisor(xdaq::ApplicationStub * s) throw (xdaq::exception::Exception)
00012
00013 : CoreSupervisorBase(s)
00014 {
00015 CoreSupervisorBase::theStateMachineImplementation_.push_back(
00016 DataManagerSingleton::getInstance<DataManager>(
00017 CoreSupervisorBase::theConfigurationManager_->getNode(CoreSupervisorBase::XDAQContextConfigurationName_),
00018 CoreSupervisorBase::supervisorConfigurationPath_,
00019 CoreSupervisorBase::supervisorApplicationUID_
00020 )
00021 );
00022 }
00023
00024
00025 DataManagerSupervisor::~DataManagerSupervisor(void)
00026 {
00027 DataManagerSingleton::deleteInstance(CoreSupervisorBase::supervisorApplicationUID_);
00028 theStateMachineImplementation_.pop_back();
00029 }