94#ifdef ESPHOME_ESP32_BLE_EXTENDED_AUTH_PARAMS
101 this->advertising_cycle_time_ = advertising_cycle_time;
108 void setup()
override;
109 void loop()
override;
112 void set_name(
const char *name) { this->name_ = name; }
114#ifdef USE_ESP32_BLE_ADVERTISING
125#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT
127 this->gap_event_callbacks_.add(std::forward<F>(callback));
130#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT
132 this->gap_scan_event_callbacks_.add(std::forward<F>(callback));
135#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT)
137 this->gattc_event_callbacks_.add(std::forward<F>(callback));
140#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT)
142 this->gatts_event_callbacks_.add(std::forward<F>(callback));
145#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT
147 this->ble_status_event_callbacks_.add(std::forward<F>(callback));
153#ifdef USE_ESP32_BLE_SERVER
154 static void gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param);
156#ifdef USE_ESP32_BLE_CLIENT
157 static void gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param);
159 static void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param);
168#ifdef USE_ESP32_BLE_ADVERTISING
180#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT
182 void(esp_gap_ble_cb_event_t, esp_ble_gap_cb_param_t *)>
183 gap_event_callbacks_;
185#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT
187 gap_scan_event_callbacks_;
189#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT)
191 void(esp_gattc_cb_event_t, esp_gatt_if_t, esp_ble_gattc_cb_param_t *)>
192 gattc_event_callbacks_;
194#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT)
196 void(esp_gatts_cb_event_t, esp_gatt_if_t, esp_ble_gatts_cb_param_t *)>
197 gatts_event_callbacks_;
199#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT
200 StaticCallbackManager<ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT, void()> ble_status_event_callbacks_;
214#ifdef USE_ESP32_BLE_ADVERTISING
217 const char *name_{
nullptr};
218 esp_ble_io_cap_t io_cap_{ESP_IO_CAP_NONE};
222 uint16_t appearance_{0};
226 bool enable_on_boot_{};
228#ifdef ESPHOME_ESP32_BLE_EXTENDED_AUTH_PARAMS
229 optional<esp_ble_auth_req_t> auth_req_mode_;
231 uint8_t max_key_size_{0};
232 uint8_t min_key_size_{0};