2021-11-20 15:22:22 +00:00
|
|
|
#include "ApplicationMessage.h"
|
2021-10-31 20:42:06 +00:00
|
|
|
|
|
|
|
#include <QJsonDocument>
|
|
|
|
#include <QJsonObject>
|
2022-05-02 17:10:45 +00:00
|
|
|
#include "Json.h"
|
2021-10-31 20:42:06 +00:00
|
|
|
|
2021-11-20 15:22:22 +00:00
|
|
|
void ApplicationMessage::parse(const QByteArray & input) {
|
2022-05-02 17:10:45 +00:00
|
|
|
auto doc = Json::requireDocument(input, "ApplicationMessage");
|
|
|
|
auto root = Json::requireObject(doc, "ApplicationMessage");
|
2021-10-31 20:42:06 +00:00
|
|
|
|
|
|
|
command = root.value("command").toString();
|
|
|
|
args.clear();
|
|
|
|
|
|
|
|
auto parsedArgs = root.value("args").toObject();
|
|
|
|
for(auto iter = parsedArgs.begin(); iter != parsedArgs.end(); iter++) {
|
|
|
|
args[iter.key()] = iter.value().toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-11-20 15:22:22 +00:00
|
|
|
QByteArray ApplicationMessage::serialize() {
|
2021-10-31 20:42:06 +00:00
|
|
|
QJsonObject root;
|
|
|
|
root.insert("command", command);
|
|
|
|
QJsonObject outArgs;
|
|
|
|
for (auto iter = args.begin(); iter != args.end(); iter++) {
|
|
|
|
outArgs[iter.key()] = iter.value();
|
|
|
|
}
|
|
|
|
root.insert("args", outArgs);
|
|
|
|
|
2022-05-02 17:10:45 +00:00
|
|
|
return Json::toText(root);
|
2021-10-31 20:42:06 +00:00
|
|
|
}
|