otsdaq  v2_01_00
ARTDAQFEDataManagerSupervisor.cc
1 #include "otsdaq-core/CoreSupervisors/ARTDAQFEDataManagerSupervisor.h"
2 #include "otsdaq-core/FECore/FEVInterfacesManager.h"
3 #include "otsdaq-core/ARTDAQDataManager/ARTDAQDataManager.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(ARTDAQFEDataManagerSupervisor)
10 
11 //========================================================================================================================
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_//FIXME Was ARTADFE
21  )
22  );
23 
24  CoreSupervisorBase::theStateMachineImplementation_.push_back(
25  DataManagerSingleton::getInstance<ARTDAQDataManager>(
26  CorePropertySupervisorBase::getContextTreeNode(),
27  CorePropertySupervisorBase::supervisorConfigurationPath_,
28  CorePropertySupervisorBase::supervisorApplicationUID_
29  )
30  );
31 }
32 
33 //========================================================================================================================
34 ARTDAQFEDataManagerSupervisor::~ARTDAQFEDataManagerSupervisor(void)
35 {
36  DataManagerSingleton::deleteInstance(CorePropertySupervisorBase::supervisorApplicationUID_);
37  theStateMachineImplementation_.pop_back();
38 }