libGulliBLE
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
inline

◆ chr_uuid()

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

◆ do_read()

virtual retcode ble::characteristic_base::do_read ( mlab::bin_data &  data,
std::uint16_t  conn_handle,
std::uint16_t  attr_handle 
)
protectedpure 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 
)
protectedpure virtual

◆ get_definition()

ble_gatt_chr_def ble::characteristic_base::get_definition ( ) const

◆ on_access()

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

◆ on_read()

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

◆ on_write()

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

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

constexpr 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: