1 #include "otsdaq-core/SystemMessenger/SystemMessenger.h"
12 void SystemMessenger::addSystemMessage(std::string targetUser, std::string msg)
20 if(sysMsgTargetUser_.size() &&
21 sysMsgTargetUser_[sysMsgTargetUser_.size() - 1] == targetUser &&
22 sysMsgMessage_[sysMsgTargetUser_.size() - 1] == msg)
26 sysMsgTargetUser_.push_back(targetUser);
27 sysMsgMessage_.push_back(msg);
28 sysMsgTime_.push_back(time(0));
29 sysMsgDelivered_.push_back(
false);
32 std::cout << __COUT_HDR_FL__
33 <<
"Current System Messages: " << sysMsgTargetUser_.size() << std::endl
43 std::string SystemMessenger::getSystemMessage(std::string targetUser)
47 std::string retStr =
"";
50 for(uint64_t i = 0; i < sysMsgTargetUser_.size(); ++i)
51 if(sysMsgTargetUser_[i] == targetUser || sysMsgTargetUser_[i] ==
"*")
56 sprintf(tmp,
"%lu", sysMsgTime_[i]);
57 retStr += std::string(tmp) +
"|" + sysMsgMessage_[i];
59 if(sysMsgTargetUser_[i] !=
"*")
60 sysMsgDelivered_[i] =
true;
71 void SystemMessenger::sysMsgSetLock(
bool set)
73 while(set && sysMsgLock_)
82 void SystemMessenger::sysMsgCleanup()
86 for(uint64_t i = 0; i < sysMsgTargetUser_.size(); ++i)
87 if((sysMsgDelivered_[i] && sysMsgTargetUser_[i] !=
"*") ||
88 sysMsgTime_[i] + SYS_CLEANUP_WILDCARD_TIME < time(0))
92 sysMsgTargetUser_.erase(sysMsgTargetUser_.begin() + i);
93 sysMsgMessage_.erase(sysMsgMessage_.begin() + i);
94 sysMsgTime_.erase(sysMsgTime_.begin() + i);
95 sysMsgDelivered_.erase(sysMsgDelivered_.begin() + i);