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