Improved register written event

This commit is contained in:
Nav
2021-09-12 23:25:34 +01:00
parent 60df8c0d49
commit b81b51790e
8 changed files with 51 additions and 42 deletions

View File

@@ -21,3 +21,15 @@ void EventManager::triggerEvent(const std::shared_ptr<const Events::Event>& even
}
}
}
bool EventManager::isEventTypeListenedFor(Events::EventType eventType) {
auto registerListenersLock = std::unique_lock(this->registerListenerMutex);
for(auto const& [listenerId, listener] : this->registeredListeners) {
if (listener->isEventTypeRegistered(eventType)) {
return true;
}
}
return false;
}

View File

@@ -54,5 +54,13 @@ namespace Bloom
* @param event
*/
void triggerEvent(const Events::SharedGenericEventPointer& event);
/**
* Checks if any registered listener is listening for a particular event type.
*
* @param eventType
* @return
*/
bool isEventTypeListenedFor(Events::EventType eventType);
};
}

View File

@@ -13,7 +13,7 @@ namespace Bloom::Events
static inline EventType type = EventType::REGISTERS_WRITTEN_TO_TARGET;
static inline const std::string name = "RegistersWrittenToTarget";
Targets::TargetRegisterDescriptors descriptors;
Targets::TargetRegisters registers;
[[nodiscard]] EventType getType() const override {
return RegistersWrittenToTarget::type;