| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #include "esp_event.h"
- #include "esp_event_cxx.hpp"
- #include "esp_event_api.hpp"
- #ifdef __cpp_exceptions
- namespace idf {
- namespace event {
- ESPEventAPIDefault::ESPEventAPIDefault()
- {
- esp_err_t res = esp_event_loop_create_default();
- if (res != ESP_OK) {
- throw idf::event::EventException(res);
- }
- }
- ESPEventAPIDefault::~ESPEventAPIDefault()
- {
- esp_event_loop_delete_default();
- }
- esp_err_t ESPEventAPIDefault::handler_register(esp_event_base_t event_base,
- int32_t event_id,
- esp_event_handler_t event_handler,
- void *event_handler_arg,
- esp_event_handler_instance_t *instance)
- {
- return esp_event_handler_instance_register(event_base,
- event_id,
- event_handler,
- event_handler_arg,
- instance);
- }
- esp_err_t ESPEventAPIDefault::handler_unregister(esp_event_base_t event_base,
- int32_t event_id,
- esp_event_handler_instance_t instance)
- {
- return esp_event_handler_instance_unregister(event_base, event_id, instance);
- }
- esp_err_t ESPEventAPIDefault::post(esp_event_base_t event_base,
- int32_t event_id,
- void* event_data,
- size_t event_data_size,
- TickType_t ticks_to_wait)
- {
- return esp_event_post(event_base,
- event_id,
- event_data,
- event_data_size,
- ticks_to_wait);
- }
- ESPEventAPICustom::ESPEventAPICustom(const esp_event_loop_args_t &event_loop_args)
- {
- esp_err_t res = esp_event_loop_create(&event_loop_args, &event_loop);
- if (res != ESP_OK) {
- throw idf::event::EventException(res);
- }
- }
- ESPEventAPICustom::~ESPEventAPICustom()
- {
- esp_event_loop_delete(event_loop);
- }
- esp_err_t ESPEventAPICustom::handler_register(esp_event_base_t event_base,
- int32_t event_id,
- esp_event_handler_t event_handler,
- void *event_handler_arg,
- esp_event_handler_instance_t *instance)
- {
- return esp_event_handler_instance_register_with(event_loop,
- event_base,
- event_id,
- event_handler,
- event_handler_arg,
- instance);
- }
- esp_err_t ESPEventAPICustom::handler_unregister(esp_event_base_t event_base,
- int32_t event_id,
- esp_event_handler_instance_t instance)
- {
- return esp_event_handler_instance_unregister_with(event_loop, event_base, event_id, instance);
- }
- esp_err_t ESPEventAPICustom::post(esp_event_base_t event_base,
- int32_t event_id,
- void* event_data,
- size_t event_data_size,
- TickType_t ticks_to_wait)
- {
- return esp_event_post_to(event_loop,
- event_base,
- event_id,
- event_data,
- event_data_size,
- ticks_to_wait);
- }
- esp_err_t ESPEventAPICustom::run(TickType_t ticks_to_run)
- {
- return esp_event_loop_run(event_loop, ticks_to_run);
- }
- } // event
- } // idf
- #endif // __cpp_exceptions
|