1 #ifndef _ots_ECLSupervisor_h
2 #define _ots_ECLSupervisor_h
4 #include "otsdaq-core/SOAPUtilities/SOAPMessenger.h"
5 #include "otsdaq-core/FiniteStateMachine/RunControlStateMachine.h"
6 #include "otsdaq-core/WebUsersUtilities/RemoteWebUsers.h"
8 #include <xdaq/Application.h>
9 #include "otsdaq-core/Macros/XDAQApplicationMacros.h"
10 #include <xgi/Method.h>
12 #include <cgicc/HTMLClasses.h>
13 #include <cgicc/HTTPCookie.h>
14 #include <cgicc/HTMLDoctype.h>
15 #include <cgicc/HTTPHeader.h>
20 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h"
27 class ConfigurationManager;
28 class ConfigurationGroupKey;
42 void defaultPage (xgi::Input* in, xgi::Output* out) ;
44 void transitionConfiguring (toolbox::Event::Reference e) ;
45 void transitionStarting (toolbox::Event::Reference e) ;
46 void transitionStopping (toolbox::Event::Reference e) ;
47 void transitionPausing (toolbox::Event::Reference e) ;
48 void transitionResuming (toolbox::Event::Reference e) ;
49 void enteringError (toolbox::Event::Reference e) ;
51 xoap::MessageReference MakeSystemLogbookEntry(xoap::MessageReference msg) ;
55 ConfigurationManager* theConfigurationManager_;
56 const std::string supervisorContextUID_;
57 const std::string supervisorApplicationUID_;
58 const std::string supervisorConfigurationPath_;
64 std::string ExperimentName;
66 std::chrono::steady_clock::time_point run_start;
69 std::string EscapeECLString(std::string input =
"");
80 int Write(WriteState state);