summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/bluez/hcimanager_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/bluez/hcimanager_p.h')
-rw-r--r--src/bluetooth/bluez/hcimanager_p.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bluetooth/bluez/hcimanager_p.h b/src/bluetooth/bluez/hcimanager_p.h
index c8f2fe56..f1bd6d46 100644
--- a/src/bluetooth/bluez/hcimanager_p.h
+++ b/src/bluetooth/bluez/hcimanager_p.h
@@ -53,6 +53,8 @@
QT_BEGIN_NAMESPACE
+class QLowEnergyConnectionParameters;
+
class HciManager : public QObject
{
Q_OBJECT
@@ -60,6 +62,7 @@ public:
enum HciEvent {
EncryptChangeEvent = EVT_ENCRYPT_CHANGE,
CommandCompleteEvent = EVT_CMD_COMPLETE,
+ LeMetaEvent = 0x3e,
};
explicit HciManager(const QBluetoothAddress &deviceAdapter, QObject *parent = 0);
@@ -68,21 +71,30 @@ public:
bool isValid() const;
bool monitorEvent(HciManager::HciEvent event);
bool sendCommand(OpCodeGroupField ogf, OpCodeCommandField ocf, const QByteArray &parameters);
+
void stopEvents();
QBluetoothAddress addressForConnectionHandle(quint16 handle) const;
+ bool sendConnectionUpdateCommand(quint16 handle, const QLowEnergyConnectionParameters &params);
+ bool sendConnectionParameterUpdateRequest(quint16 handle,
+ const QLowEnergyConnectionParameters &params);
+
signals:
void encryptionChangedEvent(const QBluetoothAddress &address, bool wasSuccess);
void commandCompleted(quint16 opCode, quint8 status, const QByteArray &data);
+ void connectionComplete(quint16 handle);
+ void connectionUpdate(quint16 handle, const QLowEnergyConnectionParameters &parameters);
private slots:
void _q_readNotify();
private:
int hciForAddress(const QBluetoothAddress &deviceAdapter);
+ void handleLeMetaEvent(const quint8 *data);
int hciSocket;
int hciDev;
+ quint8 sigPacketIdentifier = 0;
QSocketNotifier *notifier;
QSet<HciManager::HciEvent> runningEvents;
};