1 #ifndef _ots_SlowControlsDashboardSupervisor_h_
2 #define _ots_SlowControlsDashboardSupervisor_h_
4 #include "otsdaq/CoreSupervisors/CoreSupervisorBase.h"
11 class SlowControlsVInterface;
12 class ConfigurationManager;
30 virtual void request (
const std::string& requestType,
32 HttpXmlDocument& xmlOut,
33 const WebUsers::RequestUserInfo& userInfo)
override;
34 virtual void handleRequest (
const std::string Command,
35 HttpXmlDocument& xmlOut,
37 const WebUsers::RequestUserInfo& userInfo);
39 virtual void setSupervisorPropertyDefaults (
void)
override;
40 virtual void forceSupervisorPropertyValues (
void)
override;
45 void Poll (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, std::string UID);
46 void GetChannelSettings (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
47 void GetChannelArchiverData (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
48 void GetLastAlarmsData (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
49 void GetAlarmsLogData (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
50 void GetUserPermissions (cgicc::Cgicc& cgiIn,
51 HttpXmlDocument& xmlOut,
52 const WebUsers::RequestUserInfo& userInfo);
53 void GenerateUID (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut, std::string pvlist);
54 void GetList (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
55 void GetPages (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
56 void loadPage (cgicc::Cgicc& cgiIn,
57 HttpXmlDocument& xmlOut,
59 const WebUsers::RequestUserInfo& userInfo);
60 void loadPhoebusPage (cgicc::Cgicc& cgiIn,
61 HttpXmlDocument& xmlOut,
63 const WebUsers::RequestUserInfo& userInfo);
64 void SaveControlsPage (cgicc::Cgicc& cgiIn,
65 HttpXmlDocument& xmlOut,
66 const WebUsers::RequestUserInfo& userInfo);
67 void SavePhoebusControlsPage (cgicc::Cgicc& cgiIn,
68 HttpXmlDocument& xmlOut,
69 const WebUsers::RequestUserInfo& userInfo);
70 void Subscribe (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
71 void Unsubscribe (cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut);
74 bool isDir (std::string dir);
75 void listFiles (std::string baseDir,
bool recursive, std::vector<std::string>* pages);
78 std::map<int, std::set<std::string>> channelDependencyLookupMap_;
79 std::map<int, long int> uidPollTimeMap_;
81 int alarmNotifyRefreshRate_;
82 std::mutex alarmCheckThreadErrorMutex_;
83 std::string alarmCheckThreadError_;
85 SlowControlsVInterface* interface_;
86 std::mutex pluginBusyMutex_;