1 #ifndef _ots_Utilities_RemoteWebUsers_h
2 #define _ots_Utilities_RemoteWebUsers_h
4 #include "otsdaq/SOAPUtilities/SOAPMessenger.h"
5 #include "otsdaq/WebUsersUtilities/WebUsers.h"
12 #include "otsdaq/TableCore/TableGroupKey.h"
17 class AllSupervisorInfo;
18 class HttpXmlDocument;
27 RemoteWebUsers(xdaq::Application* application, XDAQ_CONST_CALL xdaq::ApplicationDescriptor* gatewaySupervisorDescriptor);
44 void sendSystemMessage (
const std::string& toUser,
const std::string& message,
bool doEmail =
false);
45 void sendSystemMessage (
const std::string& toUser,
const std::string& subject,
const std::string& message,
bool doEmail =
false);
48 getLastTableGroup (
const std::string& actionOfLastGroup, std::string& returnedActionTimeString);
51 std::string >>& theGroups);
56 std::string ActiveUserList_;
57 time_t ActiveUserLastUpdateTime_;
60 ACTIVE_USERS_UPDATE_THRESHOLD = 2,
67 struct CachedCookieCheck
70 std::string cookieCode;
71 std::string permissions;
73 std::string displayName;
74 std::string userWithLock;
77 std::map<std::string , CachedCookieCheck> cookieCheckCache_;
78 std::mutex cookieCheckCacheMutex_;
82 COOKIE_CHECK_CACHE_TTL = 30,
XDAQ_CONST_CALL xdaq::ApplicationDescriptor * gatewaySupervisorDescriptor_
void getLastTableGroups(std::map< std::string, std::tuple< std::string, TableGroupKey, std::string >> &theGroups)
RemoteWebUsers(xdaq::Application *application, XDAQ_CONST_CALL xdaq::ApplicationDescriptor *gatewaySupervisorDescriptor)
std::pair< std::string, TableGroupKey > getLastTableGroup(const std::string &actionOfLastGroup, std::string &returnedActionTimeString)
actionOfLastGroup = "Configured" or "Started", for example
std::string getActiveUserList(void)
void sendSystemMessage(const std::string &toUser, const std::string &message, bool doEmail=false)
void makeSystemLogEntry(const std::string &entryText)
bool xmlRequestToGateway(cgicc::Cgicc &cgi, std::ostringstream *out, HttpXmlDocument *xmldoc, const AllSupervisorInfo &allSupervisorInfo, WebUsers::RequestUserInfo &userInfo)
defines used also by OtsConfigurationWizardSupervisor