summaryrefslogtreecommitdiff
path: root/src/metawatchbttransport.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/metawatchbttransport.h')
-rw-r--r--src/metawatchbttransport.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/metawatchbttransport.h b/src/metawatchbttransport.h
new file mode 100644
index 0000000..a27328a
--- /dev/null
+++ b/src/metawatchbttransport.h
@@ -0,0 +1,38 @@
+#ifndef METAWATCHBTTRANSPORT_H
+#define METAWATCHBTTRANSPORT_H
+
+#include <QtBluetooth/QBluetoothSocket>
+
+QT_USE_NAMESPACE_BLUETOOTH
+
+#include "metawatchtransport.h"
+
+class MetaWatchBTTransport : public MetaWatchTransport
+{
+ Q_OBJECT
+public:
+ explicit MetaWatchBTTransport(const QBluetoothAddress &address, QObject *parent = 0);
+ ~MetaWatchBTTransport();
+
+ bool isDeviceConnected() const;
+ void sendMessage(quint8 type, quint8 options, const QByteArray &payload);
+
+public slots:
+ void connectDevice();
+ void disconnectDevice();
+
+private:
+ static QByteArray encode(quint8 type, quint8 options, const QByteArray &payload);
+ static bool decode(const QByteArray &msg, quint8 *type, quint8 *options, QByteArray *payload);
+
+private slots:
+ void handleSocketConnected();
+ void handleSocketDisconnected();
+ void handleSocketData();
+
+private:
+ QBluetoothAddress _addr;
+ QBluetoothSocket *_socket;
+};
+
+#endif // METAWATCHBTTRANSPORT_H