otsdaq  v2_01_00
FEDataManagerSupervisor.cc
1 #include "otsdaq-core/CoreSupervisors/FEDataManagerSupervisor.h"
2 #include "otsdaq-core/FECore/FEVInterfacesManager.h"
3 #include "otsdaq-core/DataManager/DataManager.h"
4 #include "otsdaq-core/DataManager/DataManagerSingleton.h"
5 #include "otsdaq-core/ConfigurationInterface/ConfigurationManager.h"
6 
7 using namespace ots;
8 
9 XDAQ_INSTANTIATOR_IMPL(FEDataManagerSupervisor)
10 
11 //========================================================================================================================
12 FEDataManagerSupervisor::FEDataManagerSupervisor(xdaq::ApplicationStub * s)
13 //FIXME WE MUST ADD A MAP OF INSTANCES IN THE SINGLETON
15 {
16  //WARNING THE ORDER IS IMPORTANT SINCE THE FIRST ELEMENTS WILLL BE CALLED FIRST!!!!!
17  CoreSupervisorBase::theStateMachineImplementation_.push_back(
19  CorePropertySupervisorBase::getContextTreeNode(),
20  CorePropertySupervisorBase::supervisorConfigurationPath_
21  )
22  );
23 
24  CoreSupervisorBase::theStateMachineImplementation_.push_back(
25  DataManagerSingleton::getInstance<DataManager>(
26  CorePropertySupervisorBase::getContextTreeNode(),
27  CorePropertySupervisorBase::supervisorConfigurationPath_,
28  CorePropertySupervisorBase::supervisorApplicationUID_
29  )
30  );
31 }
32 
33 //========================================================================================================================
34 FEDataManagerSupervisor::~FEDataManagerSupervisor(void)
35 {
36  DataManagerSingleton::deleteInstance(CoreSupervisorBase::supervisorApplicationUID_);
37  theStateMachineImplementation_.pop_back();
38 }