|
VR-Engage
2.2
|
This class maintains a registry of callback delegates for various message types. When a message is received, it can be passed to this handler, which will invoke all registered callbacks for that message type. Multiple callbacks can be registered for the same message type, allowing different components to respond to the same messages.
#include <rfxMessageHandler.h>
Public Member Functions | |
| DtVreMessageHandler () | |
| virtual | ~DtVreMessageHandler () |
| virtual void | addMessageCallback (unsigned int messageType, DtVreMessageDelegate &delegate) |
| virtual void | removeMessageCallback (unsigned int messageType, DtVreMessageDelegate &delegate) |
| virtual void | clearMessageCallbacks (unsigned int messageType) |
| virtual void | processMessage (DtBaseMessage *msg) |
Protected Types | |
| typedef std::multimap< unsigned int, DtVreMessageDelegate > | MessageMap |
| typedef std::pair< unsigned int, DtVreMessageDelegate > | MessagePair |
Protected Attributes | |
| MessageMap | myMessageHandlers |
|
protected |
Type definition for the multimap of message types to callback delegates.
|
protected |
Type definition for a message type and callback delegate pair.
| makRadarFx::DtVreMessageHandler::DtVreMessageHandler | ( | ) |
Default constructor.
Creates a new message handler with an empty callback registry
|
virtual |
Virtual destructor.
Cleans up the message handler resources
|
virtual |
Registers a callback for a specific message type.
| messageType | The type of message to register for |
| delegate | The callback delegate to invoke when a message of this type is received |
Adds a callback delegate to be invoked when a message of the specified type is processed. Multiple callbacks can be registered for the same message type. Note that this class does not take ownership of the delegate's memory.
|
virtual |
Unregisters a specific callback for a message type.
| messageType | The type of message to unregister from |
| delegate | The callback delegate to remove |
Removes a previously registered callback delegate for the specified message type. This method does not free the memory associated with the delegate object.
|
virtual |
Unregisters all callbacks for a specific message type.
| messageType | The type of message to clear all callbacks for |
Removes all registered callback delegates for the specified message type. This method does not free the memory associated with the delegate objects.
|
virtual |
Processes a message by invoking all registered callbacks.
| msg | Pointer to the message to process |
Invokes all callback delegates that have been registered for the type of the provided message. The message is passed to each callback.
|
protected |
Map of message types to their associated callback delegates.
This multimap allows multiple callbacks to be registered for each message type