Go to the documentation of this file.
18 QStringList &commands, QStringList &slist)
20 if (commands.size() != 4)
23 bool blockShutdown =
true;
24 if (commands[1] ==
"Playback")
26 else if (commands[1] ==
"Monitor")
27 blockShutdown =
false;
31 const QString&
hostname = commands[2];
33 int eventlevel = commands[3].toInt();
34 bool systemevents = ( (eventlevel == 1) || (eventlevel == 3));
35 bool normalevents = ( (eventlevel == 1) || (eventlevel == 2));
40 handler->BlockShutdown(blockShutdown);
41 handler->AllowStandardEvents(normalevents);
42 handler->AllowSystemEvents(systemevents);
46 handler->WriteStringList(QStringList(
"OK"));
50 LOG(VB_GENERAL, LOG_DEBUG, QString(
"MainServer::ANN %1")
52 LOG(VB_GENERAL, LOG_NOTICE, QString(
"adding: %1 as a client (events: %2)")
53 .arg(commands[2]).arg(eventlevel));
73 QStringList &commands,
76 const QString& command = commands[0];
79 if (command ==
"QUERY_LOAD")
81 else if (command ==
"QUERY_UPTIME")
83 else if (command ==
"QUERY_HOSTNAME")
85 else if (command ==
"QUERY_MEMSTATS")
87 else if (command ==
"QUERY_TIME_ZONE")
103 #if defined(_WIN32) || defined(Q_OS_ANDROID)
105 strlist <<
"getloadavg() not supported";
111 strlist <<
"getloadavg() failed";
115 strlist << QString::number(loads[0])
116 << QString::number(loads[1])
117 << QString::number(loads[2]);
133 std::chrono::seconds uptime = 0s;
136 strlist << QString::number(uptime.count());
140 strlist <<
"Could not determine uptime.";
177 strlist << QString::number(totalMB) << QString::number(freeMB)
178 << QString::number(totalVM) << QString::number(freeVM);
183 <<
"Could not determine memory stats.";
bool HandleQuery(SocketHandler *sock, QStringList &commands, QStringList &slist) override
Dispatch query messages received from a client.
QString getTimeZoneID(void)
Returns the zoneinfo time zone ID or as much time zone information as possible.
loadArray getLoadAvgs(void)
Returns the system load averages.
bool getMemStats([[maybe_unused]] int &totalMB, [[maybe_unused]] int &freeMB, [[maybe_unused]] int &totalVM, [[maybe_unused]] int &freeVM)
MythSocketManager * m_parent
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
static bool HandleQueryHostname(SocketHandler *sock)
Class for communcating between myth backends and frontends.
void SendSystemEvent(const QString &msg)
static bool HandleQueryMemStats(SocketHandler *sock)
void AddSocketHandler(SocketHandler *socket)
static bool HandleQueryUptime(SocketHandler *sock)
bool WriteStringList(const QStringList &strlist)
std::array< double, 3 > loadArray
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
bool getUptime(std::chrono::seconds &uptime)
static bool HandleQueryTimeZone(SocketHandler *sock)
int calc_utc_offset(void)
void SetAnnounce(const QStringList &new_announce)
QString current_iso_string(bool stripped)
Returns current Date and Time in UTC as a string.
static bool HandleQueryLoad(SocketHandler *sock)
QString GetHostName(void)
bool HandleAnnounce(MythSocket *socket, QStringList &commands, QStringList &slist) override