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);
}
示例#5
0
	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);
		}
	}