diff options
author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-11-16 15:26:54 +0100 |
---|---|---|
committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-11-16 15:26:54 +0100 |
commit | 6b3feac981ce78144fb69e490640a4b07dd29f1d (patch) | |
tree | 88c9a7b1b03ada97a8152591deb035681f99b7c8 /mwe/events/include/eventManager.h | |
parent | 8209678e20605936b2ce58331c1a65d8f23fee91 (diff) | |
parent | 9f6475e7b0698c414138e2a8140b47f01ce9c5d1 (diff) |
Merge branch 'master' of https://github.com/lonkaars/crepe into wouter/events
Diffstat (limited to 'mwe/events/include/eventManager.h')
-rw-r--r-- | mwe/events/include/eventManager.h | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/mwe/events/include/eventManager.h b/mwe/events/include/eventManager.h index 508a5e2..30e927f 100644 --- a/mwe/events/include/eventManager.h +++ b/mwe/events/include/eventManager.h @@ -18,11 +18,9 @@ public: } void shutdown(); - void subscribe(int eventType, - std::unique_ptr<IEventHandlerWrapper> && handler, + void subscribe(int eventType, std::unique_ptr<IEventHandlerWrapper> && handler, int eventId); - void unsubscribe(int eventType, const std::string & handlerName, - int eventId); + void unsubscribe(int eventType, const std::string & handlerName, int eventId); void triggerEvent(const Event & event_, int eventId); void queueEvent(std::unique_ptr<Event> && event_, int eventId); void dispatchEvents(); @@ -30,11 +28,9 @@ public: private: EventManager() = default; std::vector<std::pair<std::unique_ptr<Event>, int>> eventsQueue; - std::unordered_map<int, std::vector<std::unique_ptr<IEventHandlerWrapper>>> - subscribers; + std::unordered_map<int, std::vector<std::unique_ptr<IEventHandlerWrapper>>> subscribers; std::unordered_map< - int, std::unordered_map< - int, std::vector<std::unique_ptr<IEventHandlerWrapper>>>> + int, std::unordered_map<int, std::vector<std::unique_ptr<IEventHandlerWrapper>>>> subscribersByEventId; }; @@ -42,18 +38,16 @@ template <typename EventType> inline void subscribe(const EventHandler<EventType> & callback, int eventId = 0, const bool unsubscribeOnSuccess = false) { std::unique_ptr<IEventHandlerWrapper> handler - = std::make_unique<EventHandlerWrapper<EventType>>( - callback, unsubscribeOnSuccess); - EventManager::getInstance().subscribe(EventType::getStaticEventType(), - std::move(handler), eventId); + = std::make_unique<EventHandlerWrapper<EventType>>(callback, unsubscribeOnSuccess); + EventManager::getInstance().subscribe(EventType::getStaticEventType(), std::move(handler), + eventId); } template <typename EventType> -inline void unsubscribe(const EventHandler<EventType> & callback, - int eventId = 0) { +inline void unsubscribe(const EventHandler<EventType> & callback, int eventId = 0) { const std::string handlerName = callback.target_type().name(); - EventManager::getInstance().unsubscribe(EventType::getStaticEventType(), - handlerName, eventId); + EventManager::getInstance().unsubscribe(EventType::getStaticEventType(), handlerName, + eventId); } inline void triggerEvent(const Event & triggeredEvent, int eventId = 0) { @@ -61,6 +55,6 @@ inline void triggerEvent(const Event & triggeredEvent, int eventId = 0) { } inline void queueEvent(std::unique_ptr<Event> && queuedEvent, int eventId = 0) { - EventManager::getInstance().queueEvent( - std::forward<std::unique_ptr<Event>>(queuedEvent), eventId); + EventManager::getInstance().queueEvent(std::forward<std::unique_ptr<Event>>(queuedEvent), + eventId); } |