summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/osx/osxbtperipheralmanager.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/osx/osxbtperipheralmanager.mm')
-rw-r--r--src/bluetooth/osx/osxbtperipheralmanager.mm27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/bluetooth/osx/osxbtperipheralmanager.mm b/src/bluetooth/osx/osxbtperipheralmanager.mm
index d3d92f41..1998340a 100644
--- a/src/bluetooth/osx/osxbtperipheralmanager.mm
+++ b/src/bluetooth/osx/osxbtperipheralmanager.mm
@@ -178,6 +178,33 @@ bool qt_validate_value_range(const QLowEnergyCharacteristicData &data)
@end
@implementation QT_MANGLE_NAMESPACE(OSXBTPeripheralManager)
+{
+ ObjCScopedPointer<CBPeripheralManager> manager;
+ LECBManagerNotifier *notifier;
+
+ QLowEnergyHandle lastHandle;
+ // Services in this vector are placed in such order:
+ // the one that has included services, must
+ // follow its included services to avoid exceptions from CBPeripheralManager.
+ std::vector<ObjCStrongReference<CBMutableService>> services;
+ decltype(services.size()) nextServiceToAdd;
+
+ // Lookup map for included services:
+ std::map<QBluetoothUuid, CBService *> serviceIndex;
+ ObjCScopedPointer<NSMutableDictionary> advertisementData;
+
+ GenericLEMap<CBCharacteristic *> charMap;
+ GenericLEMap<ObjCStrongReference<NSMutableData>> charValues;
+
+ QMap<QLowEnergyHandle, ValueRange> valueRanges;
+
+ std::deque<UpdateRequest> updateQueue;
+
+ ObjCScopedPointer<NSMutableSet> connectedCentrals;
+
+ PeripheralState state;
+ NSUInteger maxNotificationValueLength;
+}
- (id)initWith:(LECBManagerNotifier *)aNotifier
{