1 #ifndef _ots_ChatSupervisor_h
2 #define _ots_ChatSupervisor_h
4 #include "otsdaq/CoreSupervisors/CoreSupervisorBase.h"
22 virtual void defaultPage (xgi::Input* in, xgi::Output* out)
override;
23 void Default (xgi::Input* in, xgi::Output* out);
25 virtual void request (
const std::string& requestType,
27 HttpXmlDocument& xmlOut,
28 const WebUsers::RequestUserInfo& userInfo)
override;
41 std::vector<std::string> ChatHistoryEntry_, ChatHistoryAuthor_;
42 std::vector<time_t> ChatHistoryTime_;
43 std::vector<uint64_t> ChatHistoryIndex_;
45 uint64_t ChatLastUpdateIndex;
47 std::vector<std::string> ChatUsers_;
48 std::vector<time_t> ChatUsersTime_;
52 CHAT_HISTORY_EXPIRATION_TIME = 30*60,
53 CHAT_HISTORY_MAX_ENTRIES = 100,
56 uint64_t incrementAndGetLastUpdate();
57 bool isLastUpdateIndexStale(uint64_t last);
58 bool isChatOld(uint64_t chatIndex, uint64_t last);
60 void newUser(
const std::string& user);
61 void newChat(
const std::string& chat,
const std::string& user);
62 void removeChatHistoryEntry(uint64_t i);
63 void removeChatUserEntry(uint64_t i);
64 void cleanupExpiredChats(
void);
66 void insertActiveUsers(HttpXmlDocument* xmldoc);
67 void insertChatRefresh(HttpXmlDocument* xmldoc,
68 uint64_t lastUpdateIndex,
69 const std::string& user);
71 void escapeChat(std::string& chat);
virtual void request(const std::string &requestType, cgicc::Cgicc &cgiIn, HttpXmlDocument &xmlOut, const WebUsers::RequestUserInfo &userInfo) override
end forceSupervisorPropertyValues()
virtual void forceSupervisorPropertyValues(void) override