ESPHome  2024.4.0
Public Member Functions | Protected Types | 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 >

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 (const std::string &manufacturer)
 
void set_model (const std::string &model)
 
void set_manufacturer_data (const std::vector< uint8_t > &data)
 
void create_service (ESPBTUUID uuid, bool advertise=false, uint16_t num_handles=15, uint8_t inst_id=0)
 
void remove_service (ESPBTUUID uuid)
 
BLEServiceget_service (ESPBTUUID uuid)
 
esp_gatt_if_t get_gatts_if ()
 
uint32_t get_connected_client_count ()
 
const std::unordered_map< uint16_t, void * > & 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
 
void register_service_component (BLEServiceComponent *component)
 
- 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 ()
 
bool is_ready ()
 
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...
 

Protected Types

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

Protected Member Functions

bool create_device_characteristics_ ()
 
void restart_advertising_ ()
 
void add_client_ (uint16_t conn_id, void *client)
 
bool 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 Attributes

std::string manufacturer_
 
optional< std::string > model_
 
std::vector< uint8_t > manufacturer_data_
 
esp_gatt_if_t gatts_if_ {0}
 
bool registered_ {false}
 
uint32_t connected_clients_ {0}
 
std::unordered_map< uint16_t, void * > clients_
 
std::unordered_map< std::string, BLEService * > services_
 
BLEServicedevice_information_service_
 
std::vector< BLEServiceComponent * > service_components_
 
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 36 of file ble_server.h.

Member Enumeration Documentation

◆ State

Enumerator
INIT 
REGISTERING 
STARTING_SERVICE 
RUNNING 

Definition at line 89 of file ble_server.h.

Member Function Documentation

◆ add_client_()

void esphome::esp32_ble_server::BLEServer::add_client_ ( uint16_t  conn_id,
void *  client 
)
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 187 of file ble_server.cpp.

◆ can_proceed()

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

Reimplemented from esphome::Component.

Definition at line 88 of file ble_server.cpp.

◆ create_device_characteristics_()

bool esphome::esp32_ble_server::BLEServer::create_device_characteristics_ ( )
protected

Definition at line 96 of file ble_server.cpp.

◆ create_service()

void esphome::esp32_ble_server::BLEServer::create_service ( ESPBTUUID  uuid,
bool  advertise = false,
uint16_t  num_handles = 15,
uint8_t  inst_id = 0 
)

Definition at line 118 of file ble_server.cpp.

◆ dump_config()

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

Reimplemented from esphome::Component.

Definition at line 200 of file ble_server.cpp.

◆ 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 151 of file ble_server.cpp.

◆ get_clients()

const std::unordered_map<uint16_t, void *>& esphome::esp32_ble_server::BLEServer::get_clients ( )
inline

Definition at line 60 of file ble_server.h.

◆ get_connected_client_count()

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

Definition at line 59 of file ble_server.h.

◆ get_gatts_if()

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

Definition at line 58 of file ble_server.h.

◆ get_service()

BLEService * esphome::esp32_ble_server::BLEServer::get_service ( ESPBTUUID  uuid)

Definition at line 143 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 198 of file ble_server.cpp.

◆ is_running()

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

Definition at line 86 of file ble_server.cpp.

◆ loop()

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

Reimplemented from esphome::Component.

Definition at line 36 of file ble_server.cpp.

◆ register_service_component()

void esphome::esp32_ble_server::BLEServer::register_service_component ( BLEServiceComponent component)
inline

Definition at line 67 of file ble_server.h.

◆ remove_client_()

bool 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)

Definition at line 131 of file ble_server.cpp.

◆ restart_advertising_()

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

Definition at line 90 of file ble_server.cpp.

◆ set_manufacturer()

void esphome::esp32_ble_server::BLEServer::set_manufacturer ( const std::string &  manufacturer)
inline

Definition at line 47 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.

◆ set_model()

void esphome::esp32_ble_server::BLEServer::set_model ( const std::string &  model)
inline

Definition at line 48 of file ble_server.h.

◆ setup()

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

Reimplemented from esphome::Component.

Definition at line 27 of file ble_server.cpp.

◆ teardown()

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

Field Documentation

◆ clients_

std::unordered_map<uint16_t, void *> esphome::esp32_ble_server::BLEServer::clients_
protected

Definition at line 83 of file ble_server.h.

◆ connected_clients_

uint32_t esphome::esp32_ble_server::BLEServer::connected_clients_ {0}
protected

Definition at line 82 of file ble_server.h.

◆ device_information_service_

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

Definition at line 85 of file ble_server.h.

◆ gatts_if_

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

Definition at line 79 of file ble_server.h.

◆ INIT

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

◆ manufacturer_

std::string esphome::esp32_ble_server::BLEServer::manufacturer_
protected

Definition at line 76 of file ble_server.h.

◆ manufacturer_data_

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

Definition at line 78 of file ble_server.h.

◆ model_

optional<std::string> esphome::esp32_ble_server::BLEServer::model_
protected

Definition at line 77 of file ble_server.h.

◆ registered_

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

Definition at line 80 of file ble_server.h.

◆ service_components_

std::vector<BLEServiceComponent *> esphome::esp32_ble_server::BLEServer::service_components_
protected

Definition at line 87 of file ble_server.h.

◆ services_

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

Definition at line 84 of file ble_server.h.


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