$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_ARTDAQDataLoggerSupervisor_h 00002 #define _ots_ARTDAQDataLoggerSupervisor_h 00003 00004 //#include "otsdaq-core/FiniteStateMachine/RunControlStateMachine.h" 00005 //#include "otsdaq-core/SOAPUtilities/SOAPMessenger.h" 00006 //#include "otsdaq-core/SupervisorInfo/AllSupervisorInfo.h" 00007 //#include "otsdaq-core/WorkLoopManager/WorkLoopManager.h" 00008 00009 #include "artdaq/Application/DataLoggerApp.hh" 00010 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h" 00011 00012 // 00013 //#pragma GCC diagnostic push 00014 //#pragma GCC diagnostic ignored "-Wdeprecated-declarations" 00015 //#include <xdaq/Application.h> 00016 //#pragma GCC diagnostic pop 00017 //#include <xgi/Method.h> 00018 //#include "otsdaq-core/Macros/XDAQApplicationMacros.h" 00019 // 00020 //#include <map> 00021 //#include <string> 00022 // 00023 //#include <memory> 00024 00025 namespace ots 00026 { 00027 // class ConfigurationManager; 00028 // class TableGroupKey; 00029 00030 // DataLoggerApp 00031 // This class provides the otsdaq Supervisor interface to a single artdaq Data Logger. 00032 class DataLoggerApp : public CoreSupervisorBase 00033 // public xdaq::Application, 00034 // public SOAPMessenger, 00035 // public RunControlStateMachine 00036 { 00037 public: 00038 XDAQ_INSTANTIATOR(); 00039 00040 DataLoggerApp(xdaq::ApplicationStub* s); 00041 virtual ~DataLoggerApp(void); 00042 00043 void init(void); 00044 void destroy(void); 00045 00046 // void Default(xgi::Input* in, xgi::Output* out); 00047 00048 // State Machine requests handlers 00049 // void stateMachineXgiHandler(xgi::Input* in, xgi::Output* out); 00050 // void stateMachineResultXgiHandler(xgi::Input* in, xgi::Output* 00051 // out); xoap::MessageReference stateMachineXoapHandler(xoap::MessageReference 00052 // message); xoap::MessageReference 00053 // stateMachineResultXoapHandler(xoap::MessageReference message); bool 00054 // stateMachineThread(toolbox::task::WorkLoop* workLoop); 00055 // 00056 // xoap::MessageReference stateMachineStateRequest(xoap::MessageReference message); 00057 // xoap::MessageReference stateMachineErrorMessageRequest( 00058 // xoap::MessageReference message); 00059 // 00060 // void stateInitial(toolbox::fsm::FiniteStateMachine& fsm); 00061 // void statePaused(toolbox::fsm::FiniteStateMachine& fsm); 00062 // void stateRunning(toolbox::fsm::FiniteStateMachine& fsm); 00063 // void stateHalted(toolbox::fsm::FiniteStateMachine& fsm); 00064 // void stateConfigured(toolbox::fsm::FiniteStateMachine& fsm); 00065 // void inError(toolbox::fsm::FiniteStateMachine& fsm); 00066 // 00067 virtual void transitionConfiguring(toolbox::Event::Reference e) override; 00068 virtual void transitionHalting(toolbox::Event::Reference e) override; 00069 virtual void transitionInitializing(toolbox::Event::Reference e) override; 00070 virtual void transitionPausing(toolbox::Event::Reference e) override; 00071 virtual void transitionResuming(toolbox::Event::Reference e) override; 00072 virtual void transitionStarting(toolbox::Event::Reference e) override; 00073 virtual void transitionStopping(toolbox::Event::Reference e) override; 00074 // void enteringError(toolbox::Event::Reference e); 00075 00076 private: 00077 // WorkLoopManager stateMachineWorkLoopManager_; 00078 // toolbox::BSem stateMachineSemaphore_; 00079 // 00080 // AllSupervisorInfo allSupervisorInfo_; 00081 // ConfigurationManager* theConfigurationManager_; 00082 // std::string XDAQContextTableName_; 00083 // std::string supervisorConfigurationPath_; 00084 // std::string supervisorContextUID_; 00085 // std::string supervisorApplicationUID_; 00086 00087 std::unique_ptr<artdaq::DataLoggerApp> theDataLoggerInterface_; 00088 }; 00089 00090 } // namespace ots 00091 00092 #endif