diff options
Diffstat (limited to 'app/taskmanager.cpp')
-rw-r--r-- | app/taskmanager.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/taskmanager.cpp b/app/taskmanager.cpp index ece6d83..5726388 100644 --- a/app/taskmanager.cpp +++ b/app/taskmanager.cpp @@ -28,6 +28,11 @@ void TaskManager::onConnected() timer = new QTimer(); connect(timer, SIGNAL(timeout()), this, SLOT(query())); timer->start(3000); + + loadAvg(); + loadAvgTimer = new QTimer(); + connect(loadAvgTimer, SIGNAL(timeout()), this, SLOT(loadAvg())); + loadAvgTimer->start(1000); } void TaskManager::kill(int tid) { callService("kill_process", QJsonValue(tid)); @@ -37,6 +42,10 @@ void TaskManager::getExtraInfo(int tid) { callService("get_extra_info", QJsonValue(tid)); } +void TaskManager::loadAvg() { + callService("get_load_avg", QJsonValue()); +} + void TaskManager::query() { callService("get_process_list", QJsonValue(QJsonObject({{"processes", QJsonValue()}}))); @@ -71,6 +80,10 @@ void TaskManager::ProcessResponse(Message *message) QJsonObject info = message->replyData()["info"].toObject(); ProcessResponseExtraInfo(info); } + if (QString::compare(msgType, "loadAvgInfo") == 0) { + QJsonObject loadInfo = message->replyData()["loadInfo"].toObject(); + ProcessResponseLoadAvg(loadInfo); + } // more response types to follow } @@ -144,3 +157,12 @@ void TaskManager::ProcessResponseExtraInfo(QJsonObject &info) emit showProcessInfo(infoString); } + +void TaskManager::ProcessResponseLoadAvg(QJsonObject &loadInfo) +{ + if (loadInfo.size() == 0) { + return; + } + + emit updateLoadAverage(loadInfo["value"].toDouble()); +} |