EventManager

The EventManager class is a wrapper for the standard messaging system.

Inherit:
SimObject

Description

It provides functionality for management of event queues, events, and subscriptions. Creating an EventManager is as simple as calling new EventManager and specifying a queue name.

Example:

// Create the EventManager.
$MyEventManager = newEventManager() { queue = "MyEventManager"; };

// Create an event.
$MyEventManager.registerEvent( "SomeCoolEvent" );

// Create a listener and subscribe.
$MyListener = newScriptMsgListener() { class = MyListener; };
$MyEventManager.subscribe( $MyListener, "SomeCoolEvent" );

function MyListener::onSomeCoolEvent( %this, %data )
{
     echo( "onSomeCoolEvent Triggered" );
}

// Trigger the event.
$MyEventManager.postEvent( "SomeCoolEvent", "Data" );

Methods

void EventManager::dumpEvents()

Print all registered events to the console.

void EventManager::dumpSubscribers(String event)

Print all subscribers to an event to the console.

Parameters:event – The event whose subscribers are to be printed. If this parameter isn’t specified, all events will be dumped.
bool EventManager::isRegisteredEvent(String event)

Check if an event is registered or not.

Parameters:event – The event to check.
Returns:Whether or not the event exists.
bool EventManager::postEvent(String event, String data)

~Trigger an event.

Parameters:
  • event – The event to trigger.
  • data – The data associated with the event.
Returns:

Whether or not the event was dispatched successfully.

bool EventManager::registerEvent(String event)

Register an event with the event manager.

Parameters:event – The event to register.
Returns:Whether or not the event was registered successfully.
void EventManager::remove(SimObject listener, String event)

Remove a listener from an event.

Parameters:
  • listener – The listener to remove.
  • event – The event to be removed from.
void EventManager::removeAll(SimObject listener)

Remove a listener from all events.

Parameters:listener – The listener to remove.
bool EventManager::subscribe(SimObject listener, String event, String callback)

Subscribe a listener to an event.

Parameters:
  • listener – The listener to subscribe.
  • event – The event to subscribe to.
  • callback – Optional method name to receive the event notification. If this is not specified, “on[event]” will be used.
Returns:

Whether or not the subscription was successful.

void EventManager::unregisterEvent(String event)

Remove an event from the EventManager .

Parameters:event – The event to remove.

Fields

string EventManager::queue

List of events currently waiting.