94#ifdef ESPHOME_ESP32_BLE_EXTENDED_AUTH_PARAMS
101 this->advertising_cycle_time_ = advertising_cycle_time;
108 void setup()
override;
109 void loop()
override;
114 void set_name(
const char *name) { this->name_ = name; }
116#ifdef USE_ESP32_BLE_ADVERTISING
127#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT
129 this->gap_event_callbacks_.add(std::forward<F>(callback));
132#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT
134 this->gap_scan_event_callbacks_.add(std::forward<F>(callback));
137#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT)
139 this->gattc_event_callbacks_.add(std::forward<F>(callback));
142#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT)
144 this->gatts_event_callbacks_.add(std::forward<F>(callback));
147#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT
149 this->ble_status_event_callbacks_.add(std::forward<F>(callback));
155#ifdef USE_ESP32_BLE_SERVER
156 static void gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param);
158#ifdef USE_ESP32_BLE_CLIENT
159 static void gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param);
161 static void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param);
170#ifdef USE_ESP32_BLE_ADVERTISING
182#ifdef ESPHOME_ESP32_BLE_GAP_EVENT_HANDLER_COUNT
184 void(esp_gap_ble_cb_event_t, esp_ble_gap_cb_param_t *)>
185 gap_event_callbacks_;
187#ifdef ESPHOME_ESP32_BLE_GAP_SCAN_EVENT_HANDLER_COUNT
189 gap_scan_event_callbacks_;
191#if defined(USE_ESP32_BLE_CLIENT) && defined(ESPHOME_ESP32_BLE_GATTC_EVENT_HANDLER_COUNT)
193 void(esp_gattc_cb_event_t, esp_gatt_if_t, esp_ble_gattc_cb_param_t *)>
194 gattc_event_callbacks_;
196#if defined(USE_ESP32_BLE_SERVER) && defined(ESPHOME_ESP32_BLE_GATTS_EVENT_HANDLER_COUNT)
198 void(esp_gatts_cb_event_t, esp_gatt_if_t, esp_ble_gatts_cb_param_t *)>
199 gatts_event_callbacks_;
201#ifdef ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT
202 StaticCallbackManager<ESPHOME_ESP32_BLE_BLE_STATUS_EVENT_HANDLER_COUNT, void()> ble_status_event_callbacks_;
216#ifdef USE_ESP32_BLE_ADVERTISING
219 const char *name_{
nullptr};
220 esp_ble_io_cap_t io_cap_{ESP_IO_CAP_NONE};
224 uint16_t appearance_{0};
228 bool enable_on_boot_{};
230#ifdef ESPHOME_ESP32_BLE_EXTENDED_AUTH_PARAMS
231 optional<esp_ble_auth_req_t> auth_req_mode_;
233 uint8_t max_key_size_{0};
234 uint8_t min_key_size_{0};