Commit Graph
8 Commits
Author SHA1 Message Date
Nick Bourdakos 1a87241ffd Implement GattClient#Disconnect for Apple implementation of BLEv2
PiperOrigin-RevId: 679218551
2024-09-26 11:09:30 -07:00
Nick Bourdakos 16c6ef924b Fix iOS BLE bugs and crashes
PiperOrigin-RevId: 561695661
2023-08-31 10:37:46 -07:00
Nick Bourdakos 91fb4a9a3e Add stop advertising and stop scanning BLE implementation for Apple platforms
PiperOrigin-RevId: 559838443
2023-08-24 12:45:23 -07:00
Nick Bourdakos 7933842c29 Add BLE Medium
PiperOrigin-RevId: 557933813
2023-08-17 14:17:28 -07:00
Nick Bourdakos 4aa52b45f9 Add GATT client
PiperOrigin-RevId: 557919250
2023-08-17 13:27:39 -07:00
Nick Bourdakos 0a13ce51f4 Make GNCBLEGATTServer thread safe
Fixes an issue where if a characteristic is created and then updated with a non-nil value, and a new characteristic under the same service is added, then when the service is re-added the old characteristic will be permanently cached and the dynamic reads will stop working.

This also eliminates the issue when characteristics are created concurrently, since service additions are batched, if the service addition fails then only one of the characteristics will know that it failed to get added.

This change also introduces the nuance of "success" does not mean the CoreBluetooth method has completed successfully, but instead means that the intended state has been recorded and the class will do its best to maintain that state. For example, a successful "start advertising" call means that we have the advertisement cached and we will start advertising as soon as we can (like BT transitions from off to on) and will do our best to keep advertising (like BT transitions from on to off to on again).

PiperOrigin-RevId: 551660634
2023-07-27 15:40:30 -07:00
Nick Bourdakos 0f8e5283a4 Add GATT server
PiperOrigin-RevId: 549080231
2023-07-18 12:37:23 -07:00
Nick Bourdakos e0b2e176c8 Add Objective-C GATT characteristic container.
PiperOrigin-RevId: 547954006
2023-07-13 16:05:18 -07:00