#pragma once #include "EventListener.h" #include class EventThrower : public virtual Framework::ReferenceCounter { private: Framework::Trie *listeners; protected: void throwEvent( Event *event ); public: EventThrower(); ~EventThrower(); void registerEventListener( Framework::Text eventName, EventListener *listener ); void removeEventListener( Framework::Text eventName, EventListener *listener ); void removeEventListener( EventListener *listener ); };