00001 #ifndef _ots_VisualSupervisor_h 00002 #define _ots_VisualSupervisor_h 00003 00004 00005 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h" 00006 #include "otsdaq-utilities/Visualization/VisualDataManager.h" 00007 00008 namespace ots 00009 { 00010 00011 //VisualSupervisor 00012 // This class handles the web user interface to a VisualDataManager with reqgard to the web desktop Visualizer. 00013 // The Visualizer can display ROOT object in real-time, as well as 2D and 3D displays of streaming data. 00014 class VisualSupervisor: public CoreSupervisorBase 00015 { 00016 00017 public: 00018 00019 XDAQ_INSTANTIATOR(); 00020 00021 VisualSupervisor (xdaq::ApplicationStub * s) ; 00022 virtual ~VisualSupervisor (void); 00023 00024 00025 void destroy (void); 00026 00027 00028 //virtual void defaultPage (xgi::Input* in, xgi::Output* out) override; 00029 //void safariDefaultPage (xgi::Input* in, xgi::Output* out) ; 00030 00031 virtual void request (const std::string& requestType, cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, const WebUsers::RequestUserInfo& userInfo) override; 00032 00033 virtual void setSupervisorPropertyDefaults (void) override; 00034 virtual void forceSupervisorPropertyValues (void) override; //override to force supervisor property values (and ignore user settings) 00035 00036 00037 // RAR commented out below.. better/safer handling (of errors) done by CoreSupervisorBase 00038 00039 //void stateRunning (toolbox::fsm::FiniteStateMachine& fsm) ; 00040 00041 //virtual void transitionConfiguring (toolbox::Event::Reference e) ; 00042 //virtual void transitionHalting (toolbox::Event::Reference e) ; 00043 //virtual void transitionInitializing (toolbox::Event::Reference e) ; 00044 // virtual void transitionPausing (toolbox::Event::Reference e) ; 00045 // virtual void transitionResuming (toolbox::Event::Reference e) ; 00046 // virtual void transitionStarting (toolbox::Event::Reference e) ; 00047 // virtual void transitionStopping (toolbox::Event::Reference e) ; 00048 //virtual void enteringError (toolbox::Event::Reference e) ; 00049 00050 private: 00051 00052 //void binaryBufferToHexString (char *buff, unsigned int len, std::string& dest); 00053 00054 VisualDataManager* theDataManager_; 00055 unsigned int loadedRunNumber_; 00056 00057 }; 00058 00059 } 00060 00061 #endif