mirror of
https://github.com/esphome/esphome.git
synced 2025-10-03 18:42:23 +01:00
cleanup
This commit is contained in:
@@ -147,28 +147,28 @@ BLEService *BLEServer::get_service(ESPBTUUID uuid, uint8_t inst_id) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void BLEServer::dispatch_callbacks_(CallbackType type, uint16_t conn_id) {
|
||||
for (auto &entry : this->callbacks_) {
|
||||
if (entry.type == type) {
|
||||
entry.callback(conn_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BLEServer::gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
|
||||
esp_ble_gatts_cb_param_t *param) {
|
||||
switch (event) {
|
||||
case ESP_GATTS_CONNECT_EVT: {
|
||||
ESP_LOGD(TAG, "BLE Client connected");
|
||||
this->add_client_(param->connect.conn_id);
|
||||
for (auto &entry : this->callbacks_) {
|
||||
if (entry.type == CallbackType::ON_CONNECT) {
|
||||
entry.callback(param->connect.conn_id);
|
||||
}
|
||||
}
|
||||
this->dispatch_callbacks_(CallbackType::ON_CONNECT, param->connect.conn_id);
|
||||
break;
|
||||
}
|
||||
case ESP_GATTS_DISCONNECT_EVT: {
|
||||
ESP_LOGD(TAG, "BLE Client disconnected");
|
||||
this->remove_client_(param->disconnect.conn_id);
|
||||
this->parent_->advertising_start();
|
||||
for (auto &entry : this->callbacks_) {
|
||||
if (entry.type == CallbackType::ON_DISCONNECT) {
|
||||
entry.callback(param->disconnect.conn_id);
|
||||
}
|
||||
}
|
||||
this->dispatch_callbacks_(CallbackType::ON_DISCONNECT, param->disconnect.conn_id);
|
||||
break;
|
||||
}
|
||||
case ESP_GATTS_REG_EVT: {
|
||||
|
@@ -84,6 +84,7 @@ class BLEServer : public Component, public GATTsEventHandler, public BLEStatusEv
|
||||
|
||||
void add_client_(uint16_t conn_id) { this->clients_.insert(conn_id); }
|
||||
void remove_client_(uint16_t conn_id) { this->clients_.erase(conn_id); }
|
||||
void dispatch_callbacks_(CallbackType type, uint16_t conn_id);
|
||||
|
||||
std::vector<CallbackEntry> callbacks_;
|
||||
|
||||
|
Reference in New Issue
Block a user