summaryrefslogtreecommitdiff
path: root/sapbtpeer.h
diff options
context:
space:
mode:
Diffstat (limited to 'sapbtpeer.h')
-rw-r--r--sapbtpeer.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/sapbtpeer.h b/sapbtpeer.h
new file mode 100644
index 0000000..cc060f8
--- /dev/null
+++ b/sapbtpeer.h
@@ -0,0 +1,42 @@
+#ifndef SAPBTPEER_H
+#define SAPBTPEER_H
+
+#include <QtCore/QObject>
+
+#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
+#include <QtBluetooth/QBluetoothSocket>
+QT_USE_NAMESPACE_BLUETOOTH
+#else
+#include <QtConnectivity/QBluetoothSocket>
+QTM_USE_NAMESPACE
+#endif
+
+#include "sappeer.h"
+
+class SAPBTPeer : public SAPPeer
+{
+ Q_OBJECT
+
+public:
+ SAPBTPeer(SAProtocol::Role role, QBluetoothSocket *socket, QObject *parent = 0);
+
+protected:
+ void sendFrame(const QByteArray &data);
+
+private slots:
+ void handleSocketData();
+ void handleSocketDisconnected();
+
+private:
+ void handleFrame(const QByteArray &data);
+ void handleDataFrame(const SAProtocol::Frame &frame);
+ void handleAuthenticationFrame(const QByteArray &data);
+
+private:
+ QBluetoothSocket *_socket;
+ uint _curFrameLength;
+ bool _peerDescriptionExchangeDone : 1;
+ bool _authenticationDone : 1;
+};
+
+#endif // SAPBTPEER_H