X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Faglsocketwrapper.cpp;fp=homescreen%2Fsrc%2Faglsocketwrapper.cpp;h=0000000000000000000000000000000000000000;hb=0bdd39b247661c1a0406d450d578d4ff3fd171b0;hp=8352660868edfb4b0ad0a262d4a36754211b944f;hpb=f3de2f5cad06a772ee55f58694d559a7cb012c02;p=apps%2Fhomescreen.git diff --git a/homescreen/src/aglsocketwrapper.cpp b/homescreen/src/aglsocketwrapper.cpp deleted file mode 100644 index 8352660..0000000 --- a/homescreen/src/aglsocketwrapper.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "aglsocketwrapper.h" -#include "constants.h" - -#include -#include -#include -#include -#include - -#include - -namespace { -enum MessageTypes { - Call = 2, - Success = 3, - Error = 4, - Event = 5 -}; -} - -AglSocketWrapper::AglSocketWrapper(QObject *parent) : - QObject(parent) - , m_socket(new QWebSocket(QString(), QWebSocketProtocol::VersionLatest, this)) -{ - connect(m_socket, &QWebSocket::connected, this, &AglSocketWrapper::connected); - connect(m_socket, &QWebSocket::disconnected, this, &AglSocketWrapper::disconnected); - connect(m_socket, QOverload::of(&QWebSocket::error), - [](QAbstractSocket::SocketError error) -> void { - qWarning() << "AglSocketWrapper internal socket error" << error; - }); - connect(m_socket, &QWebSocket::textMessageReceived, - this, [this](const QString &msg) -> void { - const QJsonDocument doc = QJsonDocument::fromJson(msg.toUtf8()); - if (doc.isArray()) { - const QJsonArray msgArray = doc.array(); - if (msgArray.count() >= 3) { - const int msgType = msgArray.at(0).toInt(); - switch (msgType) { - case Success: - case Error: { - auto callbackIt = m_callbacks.find( msgArray.at(1).toString()); - if (callbackIt != m_callbacks.constEnd()) { - (*callbackIt)(msgType == Success, msgArray.at(2)); - m_callbacks.erase(callbackIt); - } - } - break; - case Event: { - const QJsonObject eventObj = msgArray.at(2).toObject(); - emit eventReceived(msgArray.at(1).toString(), eventObj.value(vshl::DATA_TAG)); - } - break; - default: - break; - } - return; - } - } - qWarning() << "Unsupported message format:" << msg; - }); -} - -void AglSocketWrapper::open(const QUrl &url) -{ - m_socket->open(url); -} - -void AglSocketWrapper::close() -{ - m_socket->close(); -} - -void AglSocketWrapper::apiCall(const QString &api, const QString &verb, const QJsonValue &args, - AglSocketWrapper::ApiCallback callback) -{ - const QString id = QUuid::createUuid().toString(); - if (callback) - m_callbacks.insert(id, callback); - - QJsonArray callData; - callData.append(Call); - callData.append(id); - callData.append(api + QLatin1String("/") + verb); - callData.append(args); - - const QString msg = QLatin1String(QJsonDocument(callData).toJson(QJsonDocument::Compact)); - m_socket->sendTextMessage(msg); - - qDebug() << Q_FUNC_INFO << "Data sent:" << msg; -}