summaryrefslogtreecommitdiff
path: root/agents/hostmanagerconn.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2016-01-01 22:05:42 +0100
committerJavier <dev.git@javispedro.com>2016-01-01 22:05:42 +0100
commita45977185a485624095bff1a15024e9199eee676 (patch)
tree6cc57d085bdd01e493477c870dbe0548137998e1 /agents/hostmanagerconn.h
parenta24034bdfea259cdc09c74217be75d4f9de0dce5 (diff)
downloadsapd-a45977185a485624095bff1a15024e9199eee676.tar.gz
sapd-a45977185a485624095bff1a15024e9199eee676.zip
reorganize source files into SAP and agents
Diffstat (limited to 'agents/hostmanagerconn.h')
-rw-r--r--agents/hostmanagerconn.h68
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