yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::app::core::MessageDispatcher Class Reference

#include <message.h>

Inheritance diagram for yaze::app::core::MessageDispatcher:

Classes

struct  ListenerWithFilter
 

Public Member Functions

void RegisterListener (const std::string &message_type, IMessageListener *listener)
 
void UnregisterListener (const std::string &message_type, IMessageListener *listener)
 
void RegisterProtocol (IMessageProtocol *protocol)
 
void RegisterFilteredListener (const std::string &message_type, IMessageListener *listener, std::unique_ptr< MessageFilter > filter)
 
void BindHandler (const std::string &message_type, MessageHandler handler)
 
void SendMessage (const Message &message)
 
void DispatchMessage (const Message &message)
 

Private Attributes

std::unordered_map< std::string, std::vector< IMessageListener * > > listeners_
 
std::unordered_map< std::string, std::vector< ListenerWithFilter > > filtered_listeners_
 
std::unordered_map< std::string, std::vector< MessageHandler > > handlers_
 
std::vector< IMessageProtocol * > protocols_
 

Detailed Description

Definition at line 49 of file message.h.

Member Function Documentation

◆ RegisterListener()

void yaze::app::core::MessageDispatcher::RegisterListener ( const std::string & message_type,
IMessageListener * listener )

◆ UnregisterListener()

void yaze::app::core::MessageDispatcher::UnregisterListener ( const std::string & message_type,
IMessageListener * listener )

Definition at line 14 of file message.cc.

References listeners_.

Referenced by yaze::test::message::TEST_F().

◆ RegisterProtocol()

void yaze::app::core::MessageDispatcher::RegisterProtocol ( IMessageProtocol * protocol)

Definition at line 22 of file message.cc.

References protocols_.

◆ RegisterFilteredListener()

void yaze::app::core::MessageDispatcher::RegisterFilteredListener ( const std::string & message_type,
IMessageListener * listener,
std::unique_ptr< MessageFilter > filter )

Definition at line 26 of file message.cc.

References filtered_listeners_.

Referenced by yaze::test::message::TEST_F().

◆ BindHandler()

void yaze::app::core::MessageDispatcher::BindHandler ( const std::string & message_type,
MessageHandler handler )

Definition at line 32 of file message.cc.

References handlers_.

◆ SendMessage()

void yaze::app::core::MessageDispatcher::SendMessage ( const Message & message)

◆ DispatchMessage()

void yaze::app::core::MessageDispatcher::DispatchMessage ( const Message & message)

Member Data Documentation

◆ listeners_

std::unordered_map<std::string, std::vector<IMessageListener*> > yaze::app::core::MessageDispatcher::listeners_
private

Definition at line 68 of file message.h.

Referenced by DispatchMessage(), RegisterListener(), SendMessage(), and UnregisterListener().

◆ filtered_listeners_

std::unordered_map<std::string, std::vector<ListenerWithFilter> > yaze::app::core::MessageDispatcher::filtered_listeners_
private

Definition at line 70 of file message.h.

Referenced by DispatchMessage(), and RegisterFilteredListener().

◆ handlers_

std::unordered_map<std::string, std::vector<MessageHandler> > yaze::app::core::MessageDispatcher::handlers_
private

Definition at line 71 of file message.h.

Referenced by BindHandler(), and DispatchMessage().

◆ protocols_

std::vector<IMessageProtocol*> yaze::app::core::MessageDispatcher::protocols_
private

Definition at line 72 of file message.h.

Referenced by DispatchMessage(), and RegisterProtocol().


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