diff options
Diffstat (limited to 'src/bluetooth/bluez/hcimanager_p.h')
-rw-r--r-- | src/bluetooth/bluez/hcimanager_p.h | 12 |
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 ¶meters); + void stopEvents(); QBluetoothAddress addressForConnectionHandle(quint16 handle) const; + bool sendConnectionUpdateCommand(quint16 handle, const QLowEnergyConnectionParameters ¶ms); + bool sendConnectionParameterUpdateRequest(quint16 handle, + const QLowEnergyConnectionParameters ¶ms); + 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 ¶meters); 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; }; |