mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-05-12 11:42:13 -04:00
Wrap message handler registrations in class to subscribe/unsubscribe automatically.
This commit is contained in:
parent
e298e1ec5a
commit
7d4dd03418
18 changed files with 139 additions and 149 deletions
|
@ -117,4 +117,23 @@ private:
|
|||
void init_message_queues();
|
||||
};
|
||||
|
||||
class MessageHandlerRegistration {
|
||||
public:
|
||||
template<typename Callback>
|
||||
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);
|
||||
}
|
||||
|
||||
private:
|
||||
const Message::ID message_id;
|
||||
};
|
||||
|
||||
#endif/*__EVENT_M0_H__*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue