X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Faglsocketwrapper.h;fp=homescreen%2Fsrc%2Faglsocketwrapper.h;h=4807cd5b4c180f9de63edc8469c2047f620c6f11;hb=0349f05f5885987952a2d8de03983b36722b264e;hp=0000000000000000000000000000000000000000;hpb=0bdd39b247661c1a0406d450d578d4ff3fd171b0;p=apps%2Fhomescreen.git diff --git a/homescreen/src/aglsocketwrapper.h b/homescreen/src/aglsocketwrapper.h new file mode 100644 index 0000000..4807cd5 --- /dev/null +++ b/homescreen/src/aglsocketwrapper.h @@ -0,0 +1,35 @@ +#ifndef AGLSOCKETWRAPPER_H +#define AGLSOCKETWRAPPER_H + +#include +#include +#include +#include + +#include + +class QWebSocket; +class AglSocketWrapper : public QObject +{ + Q_OBJECT +public: + explicit AglSocketWrapper(QObject *parent = nullptr); + + void open(const QUrl &url); + void close(); + + using ApiCallback = std::function; + void apiCall(const QString &api, const QString &verb, const QJsonValue &args = QJsonValue(), + ApiCallback callback = nullptr); + +signals: + void connected(); + void disconnected(); + void eventReceived(const QString &eventName, const QJsonValue &data); + +private: + QWebSocket *m_socket; + QMap m_callbacks; +}; + +#endif // AGLSOCKETWRAPPER_H