1 #ifndef _ots_ChatSupervisor_h
2 #define _ots_ChatSupervisor_h
4 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h"
24 virtual void defaultPage (xgi::Input* in, xgi::Output* out)
override;
25 virtual void request (
const std::string& requestType, cgicc::Cgicc& cgiIn, HttpXmlDocument& xmlOut,
const WebUsers::RequestUserInfo& userInfo)
override;
27 virtual void forceSupervisorPropertyValues (
void)
override;
36 std::vector<std::string> ChatHistoryEntry_, ChatHistoryAuthor_;
37 std::vector<time_t> ChatHistoryTime_;
38 std::vector<uint64_t> ChatHistoryIndex_;
40 uint64_t ChatLastUpdateIndex;
42 std::vector<std::string> ChatUsers_;
43 std::vector<time_t> ChatUsersTime_;
46 CHAT_HISTORY_EXPIRATION_TIME = 10,
47 CHAT_HISTORY_MAX_ENTRIES = 100,
51 uint64_t incrementAndGetLastUpdate();
52 bool isLastUpdateIndexStale(uint64_t last);
53 bool isChatOld(uint64_t chatIndex, uint64_t last);
55 void newUser(std::string user);
56 void newChat(std::string chat, std::string user);
57 void removeChatHistoryEntry(uint64_t i);
58 void removeChatUserEntry(uint64_t i);
59 void cleanupExpiredChats();
61 void insertActiveUsers(HttpXmlDocument *xmldoc);
62 void insertChatRefresh(HttpXmlDocument *xmldoc, uint64_t lastUpdateIndex, std::string user);
64 void escapeChat(std::string &chat);