...
The Windows BLE Communications Interface will enable communication with a BLE device by wrapping functionality within the Windows BLE library in an abstract class. This class will provide the ability to connect to and disconnect from a device. A BLEVictorDevice VictorBleDevice will derive from this abstract class to define how users can read from and write to specific characteristics. These calls will be handled asynchronously to allow for the continued execution of code while the device performs the requested action and reports back the success of the read or write operation. Subscription functionality is also defined in the BLEVictorDevice VictorBleDevice class to raise events when a characteristic’s value has changed, as long as the characteristic in question supports notifications. The A BluetoothLEDevice object within the BLEVictorDevice VictorBleDevice class is what allows for the communication with a VictoR device connected through bluetoothBLE. The BluetoothLEDevice will be hidden from the user, only allowing modifications to be made to the device through the available functions within the BLEVictorDevice VictorBleDevice class. A device manager will contain a dictionary of devices (both Bluetooth and USB) to allow for the management of these devices, and ensuring the user does not need to retain their own collection of devices within their application.
...