12#if defined(USE_ESP32_BLE) && defined(USE_BLE_GATT_CLIENT)
18#include <esp_gap_ble_api.h>
19#include <esp_gattc_api.h>
23#ifdef USE_BLUETOOTH_PROXY_CONNECTIONS
45 void setup()
override;
55 esp_ble_gattc_cb_param_t *param)
override;
56 void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
override;
82#ifdef USE_BLUETOOTH_PROXY_CONNECTIONS
101 esp_err_t
update_conn_params_(uint16_t min_interval, uint16_t max_interval, uint16_t latency, uint16_t timeout,
102 const char *param_type);
122 esp32_ble_tracker::ConnectionType
connection_type_{esp32_ble_tracker::ConnectionType::V3_WITHOUT_CACHE};
The event surface a backend delivers completions through - the one place with genuine runtime polymor...
ble_device_base::GattServiceTable get_service_table()
bool check_addr_(const esp_bd_addr_t &addr) const
void disconnect() override
uint32_t disconnecting_started_
int handle_search_cmpl_(esp_gatt_status_t status)
esp_err_t update_conn_params_(uint16_t min_interval, uint16_t max_interval, uint16_t latency, uint16_t timeout, const char *param_type)
int read_descriptor(uint16_t handle)
SearchState search_state_
esp_bd_addr_t remote_bda_
float get_setup_priority() const override
ble_device_base::GattClientListener * listener_
void handle_open_evt_(esp_ble_gattc_cb_param_t *param)
void set_listener(ble_device_base::GattClientListener *listener)
bool parse_device(const ble_device_base::ESPBTDevice &device) override
int write_descriptor(uint16_t handle, const uint8_t *data, uint16_t len)
void on_scan_end() override
uint8_t remote_addr_type_
int write_characteristic(uint16_t handle, const uint8_t *data, uint16_t len, bool response)
void set_connection_type(ble_device_base::ConnectionType ct)
void handle_disconnect_evt_(esp_ble_gattc_cb_param_t *param)
bool cancel_gatt_disconnect()
static constexpr uint16_t UNSET_CONN_ID
esp32_ble_tracker::ConnectionType connection_type_
uint8_t connection_index_
void unconditional_disconnect_()
int update_connection_params(uint16_t min_interval, uint16_t max_interval, uint16_t latency, uint16_t timeout)
bool wants_parsed_advertisements() override
void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) override
bool gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if, esp_ble_gattc_cb_param_t *param) override
void dump_config() override
void deliver_pending_search_()
void stream_service_batch(BluetoothConnection &conn)
In-place service streamer (the proxy wrapper detects and prefers it): builds one api response batch d...
int read_characteristic(uint16_t handle)
int check_and_log_error_(const char *operation, esp_err_t err)
int notify_characteristic(uint16_t handle, bool enable)
void set_disconnecting_()
void log_gattc_warning_(const char *operation, int code)
Base class for BLE GATT clients that connect to remote devices.
bluetooth_connection::BluetoothConnection BluetoothConnection
constexpr float AFTER_BLUETOOTH
Borrowed view of the backend-owned service table.
spi_device_handle_t handle