#ifndef EVENTSBASEGLOBAL_H
#define EVENTSBASEGLOBAL_H

#include "EventBase.h"

namespace Engine {

/** \brief Registers a listener to a given event type */
bool RegisterListener (Module *listener_module, const int event_type);
/** \brief Calls all event listeners to handle the events */
bool QueueEvent (const EventBasePtr &event);
/** \brief Calls the listener handlers immediately 
 *
 * \warning It is safer to use QueueEvent() instead as the event
 * \warning handlers are called at a safely defined time and
 * \warning there is a lower risk deleting entities that still
 * \warning might be in use somewhere! */
bool TriggerEvent (const EventBasePtr &event);

}
#endif /* EVENTSBASEGLOBAL_H */
