Sirikata
|
Base class for a message dispatcher. More...
#include <ServerMessage.hpp>
Public Member Functions | |
ServerMessageDispatcher (SpaceContext *ctx) | |
virtual | ~ServerMessageDispatcher () |
void | registerMessageRecipient (ServerMessagePort type, MessageRecipient *recipient) |
void | unregisterMessageRecipient (ServerMessagePort type, MessageRecipient *recipient) |
Protected Member Functions | |
virtual void | dispatchMessage (Message *msg) const |
Private Types | |
typedef std::map < ServerMessagePort, MessageRecipient * > | MessageRecipientMap |
Private Attributes | |
MessageRecipientMap | mMessageRecipients |
Base class for a message dispatcher.
typedef std::map<ServerMessagePort, MessageRecipient*> Sirikata::ServerMessageDispatcher::MessageRecipientMap [private] |
Sirikata::ServerMessageDispatcher::ServerMessageDispatcher | ( | SpaceContext * | ctx | ) |
References Sirikata::SpaceContext::mServerDispatcher.
virtual Sirikata::ServerMessageDispatcher::~ServerMessageDispatcher | ( | ) | [inline, virtual] |
void Sirikata::ServerMessageDispatcher::dispatchMessage | ( | Message * | msg | ) | const [protected, virtual] |
References Sirikata::Message::dest_port(), mMessageRecipients, and Sirikata::MessageRecipient::receiveMessage().
Referenced by Sirikata::Forwarder::processReceivedServerMessages().
void Sirikata::ServerMessageDispatcher::registerMessageRecipient | ( | ServerMessagePort | type, |
MessageRecipient * | recipient | ||
) |
References mMessageRecipients.
Referenced by Sirikata::Forwarder::Forwarder(), Sirikata::LoadMonitor::LoadMonitor(), Sirikata::LocationService::LocationService(), Sirikata::ObjectSegmentation::ObjectSegmentation(), Sirikata::Proximity::Proximity(), Sirikata::Server::Server(), and Sirikata::UniformCoordinateSegmentation::UniformCoordinateSegmentation().
void Sirikata::ServerMessageDispatcher::unregisterMessageRecipient | ( | ServerMessagePort | type, |
MessageRecipient * | recipient | ||
) |
References mMessageRecipients.
Referenced by Sirikata::Forwarder::~Forwarder(), Sirikata::LoadMonitor::~LoadMonitor(), Sirikata::LocationService::~LocationService(), Sirikata::ObjectSegmentation::~ObjectSegmentation(), Sirikata::Proximity::~Proximity(), Sirikata::Server::~Server(), and Sirikata::UniformCoordinateSegmentation::~UniformCoordinateSegmentation().
Referenced by dispatchMessage(), registerMessageRecipient(), and unregisterMessageRecipient().