API Reference
Architecture overview and API documentation for SimpleBLE.
The following notes provide an overview of the architecture of some of the higher-level classes in the library, as to facilitate their understanding.
Standard API
SimpleBLE::Adapter
SimpleBLE::Adapter
Note
This class is intended to be used by the user only. Library developers should use shared pointers to AdapterBase instead.
Public Functions
Adapter()=defaultvirtual ~Adapter()=defaultbool initialized() constvoid * underlying() conststd::string identifier()BluetoothAddress address()void power_on()void power_off()bool is_powered()void set_callback_on_power_on(std::function< void()> on_power_on)void set_callback_on_power_off(std::function< void()> on_power_off)void scan_start()void scan_stop()void scan_for(int timeout_ms)bool scan_is_active()std::vector< Peripheral > scan_get_results()void set_callback_on_scan_start(std::function< void()> on_scan_start)void set_callback_on_scan_stop(std::function< void()> on_scan_stop)void set_callback_on_scan_updated(std::function< void(Peripheral)> on_scan_updated)void set_callback_on_scan_found(std::function< void(Peripheral)> on_scan_found)std::vector< Peripheral > get_paired_peripherals()std::vector< Peripheral > get_connected_peripherals()Public Static Functions
static bool bluetooth_enabled()static std::vector< Adapter > get_adapters()SimpleBLE::Peripheral
SimpleBLE::Peripheral
Public Functions
Peripheral()=defaultvirtual ~Peripheral()=defaultbool initialized() constvoid * underlying() conststd::string identifier()BluetoothAddress address()BluetoothAddressType address_type()int16_t rssi()int16_t tx_power()uint16_t mtu()void connect()void disconnect()bool is_connected()bool is_connectable()bool is_paired()void unpair()std::vector< Service > services()std::map< uint16_t, ByteArray > manufacturer_data()ByteArray read(BluetoothUUID const &service, BluetoothUUID const &characteristic)void write_request(BluetoothUUID const &service, BluetoothUUID const &characteristic, ByteArray const &data)void write_command(BluetoothUUID const &service, BluetoothUUID const &characteristic, ByteArray const &data)void notify(BluetoothUUID const &service, BluetoothUUID const &characteristic, std::function< void(ByteArray payload)> callback)void indicate(BluetoothUUID const &service, BluetoothUUID const &characteristic, std::function< void(ByteArray payload)> callback)void unsubscribe(BluetoothUUID const &service, BluetoothUUID const &characteristic)ByteArray read(BluetoothUUID const &service, BluetoothUUID const &characteristic, BluetoothUUID const &descriptor)void write(BluetoothUUID const &service, BluetoothUUID const &characteristic, BluetoothUUID const &descriptor, ByteArray const &data)void set_callback_on_connected(std::function< void()> on_connected)void set_callback_on_disconnected(std::function< void()> on_disconnected)SimpleBLE::Service
SimpleBLE::Service
Public Functions
Service()=defaultvirtual ~Service()=defaultbool initialized() constBluetoothUUID uuid()ByteArray data()std::vector< Characteristic > characteristics()SimpleBLE::Characteristic
SimpleBLE::Characteristic
Public Functions
Characteristic()=defaultvirtual ~Characteristic()=defaultbool initialized() constBluetoothUUID uuid()std::vector< Descriptor > descriptors()std::vector< std::string > capabilities()bool can_read()bool can_write_request()bool can_write_command()bool can_notify()bool can_indicate()SimpleBLE::Descriptor
SimpleBLE::Descriptor
Public Functions
Descriptor()=defaultvirtual ~Descriptor()=defaultbool initialized() constBluetoothUUID uuid()Safe API
SimpleBLE::Safe::Adapter
SimpleBLE::Safe::Adapter
Public Functions
Adapter(SimpleBLE::Adapter &adapter)Adapter(SimpleBLE::Adapter &&adapter)virtual ~Adapter()=defaultstd::optional< std::string > identifier() noexceptstd::optional< BluetoothAddress > address() noexceptbool scan_start() noexceptbool scan_stop() noexceptbool scan_for(int timeout_ms) noexceptstd::optional< bool > scan_is_active() noexceptstd::optional< std::vector< SimpleBLE::Safe::Peripheral > > scan_get_results() noexceptbool set_callback_on_scan_start(std::function< void()> on_scan_start) noexceptbool set_callback_on_scan_stop(std::function< void()> on_scan_stop) noexceptbool set_callback_on_scan_updated(std::function< void(SimpleBLE::Safe::Peripheral)> on_scan_updated) noexceptbool set_callback_on_scan_found(std::function< void(SimpleBLE::Safe::Peripheral)> on_scan_found) noexceptstd::optional< std::vector< SimpleBLE::Safe::Peripheral > > get_paired_peripherals() noexceptoperator SimpleBLE::Adapter() const noexceptPublic Static Functions
static std::optional< bool > bluetooth_enabled() noexceptstatic std::optional< std::vector< SimpleBLE::Safe::Adapter > > get_adapters() noexceptSimpleBLE::Safe::Peripheral
SimpleBLE::Safe::Peripheral
Public Functions
Peripheral(SimpleBLE::Peripheral &peripheral)Peripheral(SimpleBLE::Peripheral &&peripheral)virtual ~Peripheral()=defaultstd::optional< std::string > identifier() noexceptstd::optional< BluetoothAddress > address() noexceptstd::optional< BluetoothAddressType > address_type() noexceptstd::optional< int16_t > rssi() noexceptstd::optional< int16_t > tx_power() noexceptstd::optional< uint16_t > mtu() noexceptbool connect() noexceptbool disconnect() noexceptstd::optional< bool > is_connected() noexceptstd::optional< bool > is_connectable() noexceptstd::optional< bool > is_paired() noexceptbool unpair() noexceptstd::optional< std::vector< Service > > services() noexceptstd::optional< std::map< uint16_t, ByteArray > > manufacturer_data() noexceptstd::optional< ByteArray > read(BluetoothUUID const &service, BluetoothUUID const &characteristic) noexceptbool write_request(BluetoothUUID const &service, BluetoothUUID const &characteristic, ByteArray const &data) noexceptbool write_command(BluetoothUUID const &service, BluetoothUUID const &characteristic, ByteArray const &data) noexceptbool notify(BluetoothUUID const &service, BluetoothUUID const &characteristic, std::function< void(ByteArray payload)> callback) noexceptbool indicate(BluetoothUUID const &service, BluetoothUUID const &characteristic, std::function< void(ByteArray payload)> callback) noexceptbool unsubscribe(BluetoothUUID const &service, BluetoothUUID const &characteristic) noexceptstd::optional< ByteArray > read(BluetoothUUID const &service, BluetoothUUID const &characteristic, BluetoothUUID const &descriptor) noexceptbool write(BluetoothUUID const &service, BluetoothUUID const &characteristic, BluetoothUUID const &descriptor, ByteArray const &data) noexceptbool set_callback_on_connected(std::function< void()> on_connected) noexceptbool set_callback_on_disconnected(std::function< void()> on_disconnected) noexceptoperator SimpleBLE::Peripheral() const noexceptExternal API
kvn::bytearray
kvn::bytearray
A class to handle byte arrays and their conversion from/to hex strings.
Public Functions
bytearray()=defaultbytearray(const std::vector< uint8_t > &vec)bytearray(std::initializer_list< uint8_t > list)bytearray(const uint8_t *ptr, size_t size)bytearray(InputIt first, InputIt last)bytearray(const std::string &byteArr)bytearray(const char *byteArr, size_t size)bytearray(const char *byteArr)bytearray(size_t size)std::string toHex(bool spacing=false) constbytearray slice(size_t start, size_t end) constbytearray slice_from(size_t start) constbytearray slice_to(size_t end) constoperator std::string() constoperator std::vector< uint8_t >() constPublic Static Functions
static bytearray fromHex(const std::string &hexStr)static bytearray fromHex(const char *byteArr)static bytearray fromHex(const char *byteArr, size_t size)