VR-Engage  2.2
Loading...
Searching...
No Matches
makRadarFx::DtVreMessageHandler Class Reference

Detailed Description

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, DtVreMessageDelegateMessageMap
 
typedef std::pair< unsigned int, DtVreMessageDelegateMessagePair
 

Protected Attributes

MessageMap myMessageHandlers
 

Member Typedef Documentation

◆ MessageMap

typedef std::multimap<unsigned int, DtVreMessageDelegate> makRadarFx::DtVreMessageHandler::MessageMap
protected

Type definition for the multimap of message types to callback delegates.

◆ MessagePair

typedef std::pair<unsigned int, DtVreMessageDelegate> makRadarFx::DtVreMessageHandler::MessagePair
protected

Type definition for a message type and callback delegate pair.

Constructor & Destructor Documentation

◆ DtVreMessageHandler()

makRadarFx::DtVreMessageHandler::DtVreMessageHandler ( )

Default constructor.

Creates a new message handler with an empty callback registry

◆ ~DtVreMessageHandler()

virtual makRadarFx::DtVreMessageHandler::~DtVreMessageHandler ( )
virtual

Virtual destructor.

Cleans up the message handler resources

Member Function Documentation

◆ addMessageCallback()

virtual void makRadarFx::DtVreMessageHandler::addMessageCallback ( unsigned int messageType,
DtVreMessageDelegate & delegate )
virtual

Registers a callback for a specific message type.

Parameters
messageTypeThe type of message to register for
delegateThe 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.

◆ removeMessageCallback()

virtual void makRadarFx::DtVreMessageHandler::removeMessageCallback ( unsigned int messageType,
DtVreMessageDelegate & delegate )
virtual

Unregisters a specific callback for a message type.

Parameters
messageTypeThe type of message to unregister from
delegateThe 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.

◆ clearMessageCallbacks()

virtual void makRadarFx::DtVreMessageHandler::clearMessageCallbacks ( unsigned int messageType)
virtual

Unregisters all callbacks for a specific message type.

Parameters
messageTypeThe 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.

◆ processMessage()

virtual void makRadarFx::DtVreMessageHandler::processMessage ( DtBaseMessage * msg)
virtual

Processes a message by invoking all registered callbacks.

Parameters
msgPointer 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.

Member Data Documentation

◆ myMessageHandlers

MessageMap makRadarFx::DtVreMessageHandler::myMessageHandlers
protected

Map of message types to their associated callback delegates.

This multimap allows multiple callbacks to be registered for each message type


The documentation for this class was generated from the following file: