From b70605f802e7d9454629bb856dbe0157d47fb24a Mon Sep 17 00:00:00 2001 From: Raquel Medina Date: Mon, 6 Apr 2020 23:33:46 +0200 Subject: use new libqtappfw Message hierarchy Completes work to use new libqtappfw Message hierarchy started by commit 228e9cea6cbb48025f5f5b38560edc4fc69d1d55 : Rework TaskManager to use new libqtappfw Message hierarchy in 2 steps: i) add changes maintaining build compatibility with current and next libqtappfw versions; ii) complete changes once libqtappfw rolls to next version. This commit covers step ii). Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina Change-Id: Ia6aff761067ddb05168681060590fecc4b4e8ff1 --- app/taskmanager.cpp | 13 ++++++++++++- app/taskmanager.h | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/taskmanager.cpp b/app/taskmanager.cpp index f880b6b..97c376f 100644 --- a/app/taskmanager.cpp +++ b/app/taskmanager.cpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include "taskmanager.h" TaskManager::TaskManager(QObject* parent) : QObject(parent), m_loop(nullptr) { @@ -19,6 +21,7 @@ void TaskManager::open(const QUrl &bindingAddress) { m_loop = new MessageEngine(bindingAddress); QObject::connect(m_loop, &MessageEngine::connected, this, &TaskManager::onConnected); + QObject::connect(m_loop, &MessageEngine::messageReceived, this, &TaskManager::onMessageReceived, Qt::QueuedConnection); } void TaskManager::onConnected() @@ -51,7 +54,14 @@ void TaskManager::query() { callService("get_netstat", QJsonValue()); } -void TaskManager::callService(const QString&, QJsonValue) { +void TaskManager::callService(const QString& command, QJsonValue value) { + std::unique_ptr message = MessageFactory::getInstance().createOutboundMessage(MessageId::Call); + if (!message) + return; + CallMessage* msg = static_cast(message.get()); + msg->createRequest("taskmanager", command, value); + qDebug() << "sending message " << msg->serialize(); + m_loop->sendMessage(std::move(message)); } void TaskManager::onMessageReceived(std::shared_ptr message) @@ -66,6 +76,7 @@ void TaskManager::onMessageReceived(std::shared_ptr message) void TaskManager::ProcessResponse(std::shared_ptr message) { std::shared_ptr rmsg = std::static_pointer_cast(message); + qDebug() << "got message "; QString msgType = rmsg->replyData()["msgType"].toString(); if (msgType.isNull()) return; // no type supplied, ignoring diff --git a/app/taskmanager.h b/app/taskmanager.h index 87ca4b2..8926639 100644 --- a/app/taskmanager.h +++ b/app/taskmanager.h @@ -35,7 +35,7 @@ signals: private slots: void query(); - void callService(const QString&, QJsonValue); + void callService(const QString& command, QJsonValue value); void onConnected(); void onMessageReceived(std::shared_ptr); void loadAvg(); -- cgit 1.2.3-korg