$treeview $search $mathjax $extrastylesheet
otsdaq_utilities
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_ControlsDashboardSupervisor_h_ 00002 #define _ots_ControlsDashboardSupervisor_h_ 00003 00004 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h" 00005 00006 //#include "otsdaq-utilities/SlowControlsInterfacePlugins/EpicsInterface.h" 00007 //#include "EpicsInterface.h.bkup" 00008 00009 namespace ots 00010 { 00011 class SlowControlsVInterface; 00012 class ConfigurationManager; 00013 00014 // ControlsDashboardSupervisor 00015 // This class handles the management of slow controls interface plugins, as well as the 00016 // user web interface 00017 class ControlsDashboardSupervisor : public CoreSupervisorBase 00018 { 00019 00020 public: 00021 00022 XDAQ_INSTANTIATOR(); 00023 00024 ControlsDashboardSupervisor (xdaq::ApplicationStub* s); 00025 virtual ~ControlsDashboardSupervisor (void); 00026 00027 void init (void); 00028 void destroy (void); 00029 00030 00031 virtual void request (const std::string& requestType, cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, const WebUsers::RequestUserInfo& userInfo) override; 00032 virtual void handleRequest (const std::string Command, HttpXmlDocument& xmlOut, cgicc::Cgicc& cgiIn, const std::string &username); 00033 00034 virtual void setSupervisorPropertyDefaults (void) override; 00035 virtual void forceSupervisorPropertyValues (void) override; //override to force supervisor property values (and ignore user settings) 00036 00037 00038 void Poll (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, std::string UID) ; 00039 void GetPVSettings (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, std::string pvList); 00040 void GenerateUID (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, std::string pvlist); 00041 void GetList (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut) ; 00042 void GetPages (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut) ; 00043 void loadPage (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, std::string page) ; 00044 void Subscribe (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut) ; 00045 void Unsubscribe (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut) ; 00046 00047 00048 00049 //Utilities, eventually to be moved 00050 bool isDir (std::string dir ); 00051 void listFiles (std::string baseDir, bool recursive, std::vector<std::string> * pages ); 00052 00053 00054 private: 00055 //SlowControlsInterface 00056 //AllSupervisorInfo allSupervisorInfo_; 00057 //EpicsInterface * interface_; 00058 SlowControlsVInterface* interface_; 00059 // ConfigurationManager* theConfigurationManager_; 00060 // RemoteWebUsers theRemoteWebUsers_; 00061 // std::string username; 00062 std::map<int, std::set<std::string>> pvDependencyLookupMap_; 00063 int UID_; 00064 00065 00066 }; 00067 } 00068 00069 #endif