otsdaq  v1_01_02
 All Classes Namespaces Functions
DataManagerSupervisor.cc
1 #include "otsdaq-core/CoreSupervisors/DataManagerSupervisor.h"
2 #include "otsdaq-core/DataManager/DataManager.h"
3 #include "otsdaq-core/DataManager/DataManagerSingleton.h"
4 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h"
5 
6 using namespace ots;
7 
8 XDAQ_INSTANTIATOR_IMPL(DataManagerSupervisor)
9 
10 //========================================================================================================================
11 DataManagerSupervisor::DataManagerSupervisor(xdaq::ApplicationStub * s) throw (xdaq::exception::Exception)
12 //FIXME WE MUST ADD A MAP OF INSTANCES IN THE SINGLETON
14 {
15  CoreSupervisorBase::theStateMachineImplementation_.push_back(
16  DataManagerSingleton::getInstance<DataManager>(
17  CoreSupervisorBase::theConfigurationManager_->getNode(CoreSupervisorBase::XDAQContextConfigurationName_),
18  CoreSupervisorBase::supervisorConfigurationPath_,
19  CoreSupervisorBase::supervisorApplicationUID_
20  )
21  );
22 }
23 
24 //========================================================================================================================
25 DataManagerSupervisor::~DataManagerSupervisor(void)
26 {
27  DataManagerSingleton::deleteInstance(CoreSupervisorBase::supervisorApplicationUID_);
28  theStateMachineImplementation_.pop_back();
29 }