#include #include #include "systemmanager.h" #include "voicecallmanager.h" SystemManager::SystemManager(ToqManager *toq) : QObject(toq), _toq(toq) { _toq->setEndpointListener(ToqConnection::SystemEndpoint, this); } void SystemManager::handleMessage(const ToqConnection::Message &msg) { Q_ASSERT(msg.destination == ToqConnection::SystemEndpoint); switch (msg.type) { case 0: handleGetTimeMessage(msg); break; case 7: handleSilenceMessage(msg); break; default: qWarning() << "Unknown system message" << msg.type; break; } } void SystemManager::handleGetTimeMessage(const ToqConnection::Message &msg) { QJsonObject reply, time; QDateTime dt = QDateTime::currentDateTime(); QTimeZone tz = dt.timeZone(); time.insert("epoch_time", qint64(dt.toTime_t())); time.insert("time_zone", tz.standardTimeOffset(dt)); time.insert("dst", tz.isDaylightTime(dt) ? 1 : 0); reply.insert("result", int(0)); reply.insert("description", QLatin1String("current time")); reply.insert("time", time); _toq->sendReply(msg, 0x4000, reply); } void SystemManager::handleSilenceMessage(const ToqConnection::Message &msg) { QJsonObject reply; reply.insert("result", int(0)); reply.insert("description", QLatin1String("Set to Silence Mode Request received")); VoiceCallManager::setSilentMode(msg.payload.object()["silence_mode"].toInt()); _toq->sendReply(msg, 0x4007, reply); }