libGulliBLE
Loading...
Searching...
No Matches
ble::characteristic_base Class Referenceabstract

#include <characteristic.hpp>

Inheritance diagram for ble::characteristic_base:
Collaboration diagram for ble::characteristic_base:

Public Member Functions

 characteristic_base (uuid u, access_type access)
access_type access () const
uuid const & chr_uuid () const
ble_gatt_chr_def get_definition () const
virtual ~characteristic_base ()=default

Static Public Attributes

static constexpr ble_gatt_chr_def void_definition

Protected Member Functions

virtual retcode on_access (std::uint16_t conn_handle, std::uint16_t attr_handle, ble_gatt_access_ctxt &ctxt)
virtual retcode on_read (std::uint16_t conn_handle, std::uint16_t attr_handle, ble_gatt_access_ctxt &ctxt)
virtual retcode on_write (std::uint16_t conn_handle, std::uint16_t attr_handle, ble_gatt_access_ctxt &ctxt)
virtual retcode do_read (mlab::bin_data &data, std::uint16_t conn_handle, std::uint16_t attr_handle)=0
virtual retcode do_write (mlab::bin_data const &data, std::uint16_t conn_handle, std::uint16_t attr_handle)=0

Static Private Member Functions

static int _nimble_characteristic_access_callback (std::uint16_t conn_handle, std::uint16_t attr_handle, ble_gatt_access_ctxt *ctxt, void *tracker)

Private Attributes

uuid _uuid
std::unique_ptr< ble_uuid_any_t > _nimble_uuid
access_type _access
mlab::bin_data _buffer

Constructor & Destructor Documentation

◆ characteristic_base()

ble::characteristic_base::characteristic_base ( uuid u,
access_type access )

◆ ~characteristic_base()

virtual ble::characteristic_base::~characteristic_base ( )
virtualdefault

Member Function Documentation

◆ _nimble_characteristic_access_callback()

int ble::characteristic_base::_nimble_characteristic_access_callback ( std::uint16_t conn_handle,
std::uint16_t attr_handle,
ble_gatt_access_ctxt * ctxt,
void * tracker )
staticprivate

◆ access()

access_type ble::characteristic_base::access ( ) const
inlinenodiscard

◆ chr_uuid()

uuid const & ble::characteristic_base::chr_uuid ( ) const
inlinenodiscard

◆ do_read()

virtual retcode ble::characteristic_base::do_read ( mlab::bin_data & data,
std::uint16_t conn_handle,
std::uint16_t attr_handle )
nodiscardprotectedpure virtual

◆ do_write()

virtual retcode ble::characteristic_base::do_write ( mlab::bin_data const & data,
std::uint16_t conn_handle,
std::uint16_t attr_handle )
nodiscardprotectedpure virtual

◆ get_definition()

ble_gatt_chr_def ble::characteristic_base::get_definition ( ) const
nodiscard

◆ on_access()

retcode ble::characteristic_base::on_access ( std::uint16_t conn_handle,
std::uint16_t attr_handle,
ble_gatt_access_ctxt & ctxt )
nodiscardprotectedvirtual

◆ on_read()

retcode ble::characteristic_base::on_read ( std::uint16_t conn_handle,
std::uint16_t attr_handle,
ble_gatt_access_ctxt & ctxt )
nodiscardprotectedvirtual

◆ on_write()

retcode ble::characteristic_base::on_write ( std::uint16_t conn_handle,
std::uint16_t attr_handle,
ble_gatt_access_ctxt & ctxt )
nodiscardprotectedvirtual

Member Data Documentation

◆ _access

access_type ble::characteristic_base::_access
private

◆ _buffer

mlab::bin_data ble::characteristic_base::_buffer
private

◆ _nimble_uuid

std::unique_ptr<ble_uuid_any_t> ble::characteristic_base::_nimble_uuid
private

◆ _uuid

uuid ble::characteristic_base::_uuid
private

◆ void_definition

ble_gatt_chr_def ble::characteristic_base::void_definition
staticconstexpr
Initial value:
= {
.uuid = nullptr,
.access_cb = nullptr,
.arg = nullptr,
.descriptors = nullptr,
.flags = 0,
.min_key_size = 0,
.val_handle = nullptr}

The documentation for this class was generated from the following files: