ESPHome  2025.2.2
Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
esphome::esp32_ble_server::BLEServer Class Reference

#include <ble_server.h>

Inheritance diagram for esphome::esp32_ble_server::BLEServer:
esphome::Component esphome::esp32_ble::GATTsEventHandler esphome::esp32_ble::BLEStatusEventHandler esphome::Parented< ESP32BLE > esphome::event_emitter::EventEmitter< BLEServerEvt::EmptyEvt, uint16_t >

Public Member Functions

void setup () override
 
void loop () override
 
void dump_config () override
 
float get_setup_priority () const override
 
bool can_proceed () override
 
void teardown ()
 
bool is_running ()
 
void set_manufacturer_data (const std::vector< uint8_t > &data)
 
BLEServicecreate_service (ESPBTUUID uuid, bool advertise=false, uint16_t num_handles=15)
 
void remove_service (ESPBTUUID uuid, uint8_t inst_id=0)
 
BLEServiceget_service (ESPBTUUID uuid, uint8_t inst_id=0)
 
void enqueue_start_service (BLEService *service)
 
void set_device_information_service (BLEService *service)
 
esp_gatt_if_t get_gatts_if ()
 
uint32_t get_connected_client_count ()
 
const std::unordered_set< uint16_t > & get_clients ()
 
void gatts_event_handler (esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param) override
 
void ble_before_disabled_event_handler () override
 
- Public Member Functions inherited from esphome::Component
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed () const
 
bool is_ready () const
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 
- Public Member Functions inherited from esphome::Parented< ESP32BLE >
 Parented ()
 
 Parented (ESP32BLE *parent)
 
ESP32BLE * get_parent () const
 Get the parent of this object. More...
 
void set_parent (ESP32BLE *parent)
 Set the parent of this object. More...
 
- Public Member Functions inherited from esphome::event_emitter::EventEmitter< BLEServerEvt::EmptyEvt, uint16_t >
EventEmitterListenerID on (BLEServerEvt::EmptyEvt event, std::function< void(Args...)> listener)
 
void off (BLEServerEvt::EmptyEvt event, EventEmitterListenerID id)
 

Protected Types

enum  State : uint8_t { INIT = 0x00, REGISTERING, STARTING_SERVICE, RUNNING }
 

Protected Member Functions

void restart_advertising_ ()
 
void add_client_ (uint16_t conn_id)
 
void remove_client_ (uint16_t conn_id)
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_setup ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 
- Protected Member Functions inherited from esphome::event_emitter::EventEmitter< BLEServerEvt::EmptyEvt, uint16_t >
void emit_ (BLEServerEvt::EmptyEvt event, Args... args)
 
EventEmitterListenerID get_next_id_ (BLEServerEvt::EmptyEvt event)
 

Static Protected Member Functions

static std::string get_service_key (ESPBTUUID uuid, uint8_t inst_id)
 

Protected Attributes

std::vector< uint8_t > manufacturer_data_ {}
 
esp_gatt_if_t gatts_if_ {0}
 
bool registered_ {false}
 
std::unordered_set< uint16_t > clients_
 
std::unordered_map< std::string, BLEService * > services_ {}
 
std::vector< BLEService * > services_to_start_ {}
 
BLEServicedevice_information_service_ {}
 
enum esphome::esp32_ble_server::BLEServer::State INIT
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 
- Protected Attributes inherited from esphome::Parented< ESP32BLE >
ESP32BLE * parent_
 

Detailed Description

Definition at line 34 of file ble_server.h.

Member Enumeration Documentation

◆ State

Enumerator
INIT 
REGISTERING 
STARTING_SERVICE 
RUNNING 

Definition at line 85 of file ble_server.h.

Member Function Documentation

◆ add_client_()

void esphome::esp32_ble_server::BLEServer::add_client_ ( uint16_t  conn_id)
inlineprotected

Definition at line 73 of file ble_server.h.

◆ ble_before_disabled_event_handler()

void esphome::esp32_ble_server::BLEServer::ble_before_disabled_event_handler ( )
overridevirtual

Implements esphome::esp32_ble::BLEStatusEventHandler.

Definition at line 182 of file ble_server.cpp.

◆ can_proceed()

bool esphome::esp32_ble_server::BLEServer::can_proceed ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 98 of file ble_server.cpp.

◆ create_service()

BLEService * esphome::esp32_ble_server::BLEServer::create_service ( ESPBTUUID  uuid,
bool  advertise = false,
uint16_t  num_handles = 15 
)

Definition at line 106 of file ble_server.cpp.

◆ dump_config()

void esphome::esp32_ble_server::BLEServer::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 195 of file ble_server.cpp.

◆ enqueue_start_service()

void esphome::esp32_ble_server::BLEServer::enqueue_start_service ( BLEService service)
inline

Definition at line 57 of file ble_server.h.

◆ gatts_event_handler()

void esphome::esp32_ble_server::BLEServer::gatts_event_handler ( esp_gatts_cb_event_t  event,
esp_gatt_if_t  gatts_if,
esp_ble_gatts_cb_param_t *  param 
)
overridevirtual

Implements esphome::esp32_ble::GATTsEventHandler.

Definition at line 152 of file ble_server.cpp.

◆ get_clients()

const std::unordered_set<uint16_t>& esphome::esp32_ble_server::BLEServer::get_clients ( )
inline

Definition at line 62 of file ble_server.h.

◆ get_connected_client_count()

uint32_t esphome::esp32_ble_server::BLEServer::get_connected_client_count ( )
inline

Definition at line 61 of file ble_server.h.

◆ get_gatts_if()

esp_gatt_if_t esphome::esp32_ble_server::BLEServer::get_gatts_if ( )
inline

Definition at line 60 of file ble_server.h.

◆ get_service()

BLEService * esphome::esp32_ble_server::BLEServer::get_service ( ESPBTUUID  uuid,
uint8_t  inst_id = 0 
)

Definition at line 140 of file ble_server.cpp.

◆ get_service_key()

std::string esphome::esp32_ble_server::BLEServer::get_service_key ( ESPBTUUID  uuid,
uint8_t  inst_id 
)
staticprotected

Definition at line 148 of file ble_server.cpp.

◆ get_setup_priority()

float esphome::esp32_ble_server::BLEServer::get_setup_priority ( ) const
overridevirtual

Reimplemented from esphome::Component.

Definition at line 193 of file ble_server.cpp.

◆ is_running()

bool esphome::esp32_ble_server::BLEServer::is_running ( )

Definition at line 96 of file ble_server.cpp.

◆ loop()

void esphome::esp32_ble_server::BLEServer::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 31 of file ble_server.cpp.

◆ remove_client_()

void esphome::esp32_ble_server::BLEServer::remove_client_ ( uint16_t  conn_id)
inlineprotected

Definition at line 74 of file ble_server.h.

◆ remove_service()

void esphome::esp32_ble_server::BLEServer::remove_service ( ESPBTUUID  uuid,
uint8_t  inst_id = 0 
)

Definition at line 128 of file ble_server.cpp.

◆ restart_advertising_()

void esphome::esp32_ble_server::BLEServer::restart_advertising_ ( )
protected

Definition at line 100 of file ble_server.cpp.

◆ set_device_information_service()

void esphome::esp32_ble_server::BLEServer::set_device_information_service ( BLEService service)
inline

Definition at line 58 of file ble_server.h.

◆ set_manufacturer_data()

void esphome::esp32_ble_server::BLEServer::set_manufacturer_data ( const std::vector< uint8_t > &  data)
inline

Definition at line 49 of file ble_server.h.

◆ setup()

void esphome::esp32_ble_server::BLEServer::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 22 of file ble_server.cpp.

◆ teardown()

void esphome::esp32_ble_server::BLEServer::teardown ( )

Field Documentation

◆ clients_

std::unordered_set<uint16_t> esphome::esp32_ble_server::BLEServer::clients_
protected

Definition at line 80 of file ble_server.h.

◆ device_information_service_

BLEService* esphome::esp32_ble_server::BLEServer::device_information_service_ {}
protected

Definition at line 83 of file ble_server.h.

◆ gatts_if_

esp_gatt_if_t esphome::esp32_ble_server::BLEServer::gatts_if_ {0}
protected

Definition at line 77 of file ble_server.h.

◆ INIT

enum esphome::esp32_ble_server::BLEServer::State esphome::esp32_ble_server::BLEServer::INIT
protected

◆ manufacturer_data_

std::vector<uint8_t> esphome::esp32_ble_server::BLEServer::manufacturer_data_ {}
protected

Definition at line 76 of file ble_server.h.

◆ registered_

bool esphome::esp32_ble_server::BLEServer::registered_ {false}
protected

Definition at line 78 of file ble_server.h.

◆ services_

std::unordered_map<std::string, BLEService *> esphome::esp32_ble_server::BLEServer::services_ {}
protected

Definition at line 81 of file ble_server.h.

◆ services_to_start_

std::vector<BLEService *> esphome::esp32_ble_server::BLEServer::services_to_start_ {}
protected

Definition at line 82 of file ble_server.h.


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