diff options
Diffstat (limited to 'src/bluetooth/osx/osxbtcentralmanager_p.h')
-rw-r--r-- | src/bluetooth/osx/osxbtcentralmanager_p.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/bluetooth/osx/osxbtcentralmanager_p.h b/src/bluetooth/osx/osxbtcentralmanager_p.h index 697d922c..e172d874 100644 --- a/src/bluetooth/osx/osxbtcentralmanager_p.h +++ b/src/bluetooth/osx/osxbtcentralmanager_p.h @@ -53,6 +53,7 @@ #include "qlowenergycontroller.h" #include "qlowenergyservice.h" +#include "osxbtgcdtimer_p.h" #include "qbluetoothuuid.h" #include "osxbtutility_p.h" #include "osxbluetooth_p.h" @@ -86,6 +87,18 @@ enum CentralManagerState CentralManagerDisconnecting }; +enum class OperationTimeout +{ + none, + serviceDiscovery, + includedServicesDiscovery, + characteristicsDiscovery, + characteristicRead, + descriptorsDiscovery, + descriptorRead, + characteristicWrite +}; + // In Qt we work with handles and UUIDs. Core Bluetooth // has NSArrays (and nested NSArrays inside servces/characteristics). // To simplify a navigation, I need a simple way to map from a handle @@ -132,7 +145,9 @@ typedef QHash<NSObject *, QByteArray> ValueHash; QT_END_NAMESPACE -@interface QT_MANGLE_NAMESPACE(OSXBTCentralManager) : NSObject<CBCentralManagerDelegate, CBPeripheralDelegate> +@interface QT_MANGLE_NAMESPACE(OSXBTCentralManager) : NSObject<CBCentralManagerDelegate, + CBPeripheralDelegate, + QT_MANGLE_NAMESPACE(GCDTimerDelegate)> { @private CBCentralManager *manager; @@ -166,6 +181,12 @@ QT_END_NAMESPACE QT_PREPEND_NAMESPACE(QLowEnergyHandle) currentReadHandle; QT_PREPEND_NAMESPACE(OSXBluetooth)::ValueHash valuesToWrite; + + qint64 timeoutMS; + id objectUnderWatch; + QT_PREPEND_NAMESPACE(OSXBluetooth)::OperationTimeout timeoutType; + QT_PREPEND_NAMESPACE(OSXBluetooth)::GCDTimer timeoutWatchdog; + @public CBPeripheral *peripheral; } |