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