MessageHandlerRegistration::MessageHandlerRegistration( const Message::ID message_id, MessageHandlerMap::MessageHandler&& callback ) : message_id { message_id } { message_map.register_handler(message_id, std::move(callback)); }
MessageHandlerRegistration::~MessageHandlerRegistration() { message_map.unregister_handler(message_id); }
void EventDispatcher::handle_local_queue() { shared_memory.app_local_queue.handle([](Message* const message) { message_map.send(message); }); }
void EventDispatcher::handle_lcd_frame_sync() { DisplayFrameSyncMessage message; message_map.send(&message); painter.paint_widget_tree(top_widget); }
void handle_baseband_queue() { std::array<uint8_t, Message::MAX_SIZE> message_buffer; while(const Message* const message = shared_memory.baseband_queue.pop(message_buffer)) { message_map.send(message); } }