From d64344a84f42054e9eb683824fd365e8a9320387 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Thu, 12 May 2016 15:24:08 -0700 Subject: [PATCH] Un-template MessageHandlerRegistration, move code to .cpp. --- firmware/application/event_m0.cpp | 12 ++++++++++++ firmware/application/event_m0.hpp | 14 ++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/firmware/application/event_m0.cpp b/firmware/application/event_m0.cpp index 388695ef5..47b0cd236 100644 --- a/firmware/application/event_m0.cpp +++ b/firmware/application/event_m0.cpp @@ -257,3 +257,15 @@ void EventDispatcher::init_message_queues() { shared_memory.application_queue_data, SharedMemory::application_queue_k ); } + +MessageHandlerRegistration::MessageHandlerRegistration( + const Message::ID message_id, + MessageHandlerMap::MessageHandler&& callback +) : message_id { message_id } +{ + EventDispatcher::message_map().register_handler(message_id, std::move(callback)); +} + +MessageHandlerRegistration::~MessageHandlerRegistration() { + EventDispatcher::message_map().unregister_handler(message_id); +} diff --git a/firmware/application/event_m0.hpp b/firmware/application/event_m0.hpp index 704e774e7..947f51eee 100644 --- a/firmware/application/event_m0.hpp +++ b/firmware/application/event_m0.hpp @@ -119,19 +119,13 @@ private: class MessageHandlerRegistration { public: - template MessageHandlerRegistration( const Message::ID message_id, - Callback callback - ) : message_id { message_id } - { - EventDispatcher::message_map().register_handler(message_id, callback); - } - - ~MessageHandlerRegistration() { - EventDispatcher::message_map().unregister_handler(message_id); - } + MessageHandlerMap::MessageHandler&& callback + ); + ~MessageHandlerRegistration(); + private: const Message::ID message_id; };