diff options
Diffstat (limited to 'agents/hostmanagerconn.h')
-rw-r--r-- | agents/hostmanagerconn.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/agents/hostmanagerconn.h b/agents/hostmanagerconn.h new file mode 100644 index 0000000..3543a6c --- /dev/null +++ b/agents/hostmanagerconn.h @@ -0,0 +1,68 @@ +#ifndef HOSTMANAGERPEER_H +#define HOSTMANAGERPEER_H + +#include <QtCore/QVariant> +#include "sapconnection.h" +#include "sapsocket.h" + +class HostManagerConn : public QObject +{ + Q_OBJECT + +public: + HostManagerConn(SAPConnection *conn, QObject *parent = 0); + +protected: + struct AppInfo { + QString name; + QString packageName; + QString version; + bool preloaded; + bool isAppWidget; + + QStringList requiredPackages; + QStringList requiringPackages; + bool installed; + }; + + struct DeviceInfo { + QString deviceId; + QString deviceName; + QString devicePlatform; + QString devicePlatformVersion; + QString deviceType; + QString modelNumber; + QString swVersion; + + QList<AppInfo> apps; + + bool telephony; + bool messaging; + bool tablet; + bool autolock; + bool smartrelay; + bool safetyassistence; + QString vendor; + }; + + static DeviceInfo parseDeviceInfo(const QString &xmlData); + +private: + void sendMessage(const QJsonObject &obj); + + void handleMessage(const QJsonObject &obj); + + void performTimeSync(); + + QString generateHostXml(); + +private slots: + void handleConnected(); + void handleMessageReceived(); + +private: + SAPConnection *_conn; + SAPSocket *_socket; +}; + +#endif // HOSTMANAGERPEER_H |