This is a high level documentation intended to define the purpose of each class.
BluetoothServer represents the containment of Bluetooth activities, the BluetoothServer should be the only object that directly interacts with the native Bluetooth implementation.
A PacketParser is used to parse information received from Bluetooth devices, it is implemented as a template to account of a variance in parsing process among its implementations.
ANDPacketParser is the only current implementation, it exists to accurately parse data from proprietary AND devices.
The Invoker is a tool used to manage a work queue of commands. It is the interface in which this driver interacts with delegating its commands to background threads.
WorkQueue is an implementation of a thread pool manager. This will be replaced with platform specific managers.
Commands are encapsulations of actions, typically these actions will interact with the BluetoothServer and reply to the medicalDevicePlugin with feedback.
stopCommand - Action for safely shutting down all driver activity
isSupportedCommand - Action for checking and responding to whether or not Bluetooth is supported
isEnabledCommand - Action for checking and responding to whether or not Bluetooth is enabled
enabledCommand - Action for enabled the Bluetooth interface
disableCommand - Action for turning off the Bluetooth interface
discoverableCommand - Action for starting the Bluetooth discovery process
listenCommand - Action for starting to listen for incoming connections on the Bluetooth interface
stopListenCommand - Action for safely stopping all current listening actions
bondedDevicesCommand - Action for checking and responding with the current Bluetooth bonded devices