6 namespace esp32_ble_server {
8 namespace esp32_ble_server_automations {
10 using namespace esp32_ble;
18 [on_write_trigger](
const std::vector<uint8_t> &data, uint16_t
id) { on_write_trigger->
trigger(data,
id); });
19 return on_write_trigger;
27 [on_write_trigger](
const std::vector<uint8_t> &data, uint16_t
id) { on_write_trigger->
trigger(data,
id); });
28 return on_write_trigger;
34 [on_connect_trigger](uint16_t conn_id) { on_connect_trigger->
trigger(conn_id); });
35 return on_connect_trigger;
41 [on_disconnect_trigger](uint16_t conn_id) { on_disconnect_trigger->
trigger(conn_id); });
42 return on_disconnect_trigger;
47 const std::function<
void()> &pre_notify_listener) {
49 if (this->listeners_.count(characteristic) > 0) {
51 auto listener_pairs = this->listeners_[characteristic];
63 [pre_notify_listener, characteristic](
const BLECharacteristic *evt_characteristic) {
65 if (characteristic == evt_characteristic) {
66 pre_notify_listener();
70 this->listeners_[characteristic] = std::make_pair(listener_id, pre_notify_listener_id);
void set_listener(BLECharacteristic *characteristic, EventEmitterListenerID listener_id, const std::function< void()> &pre_notify_listener)
EventEmitterListenerID on(EvtType event, std::function< void(Args...)> listener)
static Trigger< uint16_t > * create_server_on_disconnect_trigger(BLEServer *server)
void trigger(Ts... x)
Inform the parent automation that the event has triggered.
static Trigger< std::vector< uint8_t >, uint16_t > * create_characteristic_on_write_trigger(BLECharacteristic *characteristic)
static Trigger< uint16_t > * create_server_on_connect_trigger(BLEServer *server)
uint32_t EventEmitterListenerID
Implementation of SPI Controller mode.
static Trigger< std::vector< uint8_t >, uint16_t > * create_descriptor_on_write_trigger(BLEDescriptor *descriptor)