ESPHome  2022.1.2
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

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 ()
 
void set_manufacturer (const std::string &manufacturer)
 
void set_model (const std::string &model)
 
std::shared_ptr< BLEServicecreate_service (const uint8_t *uuid, bool advertise=false)
 
std::shared_ptr< BLEServicecreate_service (uint16_t uuid, bool advertise=false)
 
std::shared_ptr< BLEServicecreate_service (const std::string &uuid, bool advertise=false)
 
std::shared_ptr< BLEServicecreate_service (ESPBTUUID uuid, bool advertise=false, uint16_t num_handles=15, uint8_t inst_id=0)
 
esp_gatt_if_t get_gatts_if ()
 
uint32_t get_connected_client_count ()
 
const std::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)
 
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 status_has_warning ()
 
bool status_has_error ()
 
void status_set_warning ()
 
void status_set_error ()
 
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...
 

Protected Types

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

Protected Member Functions

bool create_device_characteristics_ ()
 
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()> &&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()> &&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

bool can_proceed_ {false}
 
std::string manufacturer_
 
optional< std::string > model_
 
esp_gatt_if_t gatts_if_ {0}
 
bool registered_ {false}
 
uint32_t connected_clients_ {0}
 
std::map< uint16_t, void * > clients_
 
std::vector< std::shared_ptr< BLEService > > services_
 
std::shared_ptr< 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
 

Detailed Description

Definition at line 34 of file ble_server.h.

Member Enumeration Documentation

◆ State

Enumerator
INIT 
REGISTERING 
STARTING_SERVICE 
RUNNING 

Definition at line 84 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 64 of file ble_server.h.

◆ can_proceed()

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

Reimplemented from esphome::Component.

Definition at line 40 of file ble_server.h.

◆ create_device_characteristics_()

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

Definition at line 79 of file ble_server.cpp.

◆ create_service() [1/4]

std::shared_ptr< BLEService > esphome::esp32_ble_server::BLEServer::create_service ( const uint8_t *  uuid,
bool  advertise = false 
)

Definition at line 101 of file ble_server.cpp.

◆ create_service() [2/4]

std::shared_ptr< BLEService > esphome::esp32_ble_server::BLEServer::create_service ( uint16_t  uuid,
bool  advertise = false 
)

Definition at line 104 of file ble_server.cpp.

◆ create_service() [3/4]

std::shared_ptr< BLEService > esphome::esp32_ble_server::BLEServer::create_service ( const std::string &  uuid,
bool  advertise = false 
)

Definition at line 107 of file ble_server.cpp.

◆ create_service() [4/4]

std::shared_ptr< BLEService > 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 110 of file ble_server.cpp.

◆ dump_config()

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

Reimplemented from esphome::Component.

Definition at line 160 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 
)

Definition at line 122 of file ble_server.cpp.

◆ get_clients()

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

Definition at line 55 of file ble_server.h.

◆ get_connected_client_count()

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

Definition at line 54 of file ble_server.h.

◆ get_gatts_if()

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

Definition at line 53 of file ble_server.h.

◆ get_setup_priority()

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

Reimplemented from esphome::Component.

Definition at line 158 of file ble_server.cpp.

◆ loop()

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

Reimplemented from esphome::Component.

Definition at line 38 of file ble_server.cpp.

◆ register_service_component()

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

Definition at line 59 of file ble_server.h.

◆ remove_client_()

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

Definition at line 67 of file ble_server.h.

◆ set_manufacturer()

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

Definition at line 44 of file ble_server.h.

◆ set_model()

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

Definition at line 45 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

◆ can_proceed_

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

Definition at line 69 of file ble_server.h.

◆ clients_

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

Definition at line 77 of file ble_server.h.

◆ connected_clients_

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

Definition at line 76 of file ble_server.h.

◆ device_information_service_

std::shared_ptr<BLEService> esphome::esp32_ble_server::BLEServer::device_information_service_
protected

Definition at line 80 of file ble_server.h.

◆ gatts_if_

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

Definition at line 73 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 71 of file ble_server.h.

◆ model_

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

Definition at line 72 of file ble_server.h.

◆ registered_

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

Definition at line 74 of file ble_server.h.

◆ service_components_

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

Definition at line 82 of file ble_server.h.

◆ services_

std::vector<std::shared_ptr<BLEService> > esphome::esp32_ble_server::BLEServer::services_
protected

Definition at line 79 of file ble_server.h.


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