Fix missing service impl

custom
jacqueline 2 years ago
parent 56c1b5f93b
commit ee5f662f9b
  1. 21
      src/events/event_queue.cpp

@ -7,6 +7,7 @@
#include "event_queue.hpp" #include "event_queue.hpp"
#include "freertos/FreeRTOS.h" #include "freertos/FreeRTOS.h"
#include "freertos/portmacro.h"
#include "freertos/queue.h" #include "freertos/queue.h"
namespace events { namespace events {
@ -18,9 +19,9 @@ EventQueue::EventQueue()
ui_handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))), ui_handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))),
audio_handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))) {} audio_handle_(xQueueCreate(kMaxPendingEvents, sizeof(WorkItem*))) {}
auto EventQueue::ServiceSystem(TickType_t max_wait_time) -> bool { auto ServiceQueue(QueueHandle_t queue, TickType_t max_wait_time) -> bool {
WorkItem* item; WorkItem* item;
if (xQueueReceive(system_handle_, &item, max_wait_time)) { if (xQueueReceive(queue, &item, max_wait_time)) {
(*item)(); (*item)();
delete item; delete item;
return true; return true;
@ -28,14 +29,16 @@ auto EventQueue::ServiceSystem(TickType_t max_wait_time) -> bool {
return false; return false;
} }
auto EventQueue::ServiceSystem(TickType_t max_wait_time) -> bool {
return ServiceQueue(system_handle_, max_wait_time);
}
auto EventQueue::ServiceUi(TickType_t max_wait_time) -> bool { auto EventQueue::ServiceUi(TickType_t max_wait_time) -> bool {
WorkItem* item; return ServiceQueue(ui_handle_, max_wait_time);
if (xQueueReceive(ui_handle_, &item, max_wait_time)) { }
(*item)();
delete item; auto EventQueue::ServiceAudio(TickType_t max_wait_time) -> bool {
return true; return ServiceQueue(audio_handle_, max_wait_time);
}
return false;
} }
} // namespace events } // namespace events

Loading…
Cancel
Save