|
TinyRobotics
|
A message handler that forwards messages to multiple registered handlers. More...
#include <MessageBus.h>


Public Member Functions | |
| MessageBus ()=default | |
| Default constructor. | |
| void | add (MessageHandler &stream) |
| bool | onMessage (const Message< float > &msg) override |
| Forward incoming messages to all registered handlers. | |
| bool | onMessage (const Message< Coordinate< float > > &msg) override |
| Forward incoming messages to all registered handlers. | |
| bool | onMessage (const Message< GPSCoordinate > &msg) override |
| Forward incoming messages to all registered handlers. | |
| void | clear () |
| Removes all registere handlers from the bus. | |
Public Member Functions inherited from MessageHandler | |
| virtual bool | onMessage (const Message< float > &msg)=0 |
| Handle an incoming message (pure virtual). | |
| virtual bool | onMessage (const Message< Coordinate< float > > &msg) |
| virtual bool | onMessage (const Message< GPSCoordinate > &msg) |
| virtual bool | onMessage (const Message< MotionState3D > &msg) |
Protected Attributes | |
| std::vector< MessageHandler * > | p_handlers |
| Get the number of registered handlers. | |
A message handler that forwards messages to multiple registered handlers.
The MessageBus class implements the MessageHandler interface and allows you to broadcast messages to multiple other MessageHandler instances. It is useful for publisher-subscriber or observer patterns, where a single message source needs to notify multiple listeners or output streams.
Usage:
Supported message types:
|
inline |
Add a MessageHandler to the bus. All messages received by the bus will be forwarded to this handler.
|
inlineoverridevirtual |
Forward incoming messages to all registered handlers.
Reimplemented from MessageHandler.
|
inlineoverridevirtual |
Forward incoming messages to all registered handlers.
Implements MessageHandler.
|
inlineoverridevirtual |
Forward incoming messages to all registered handlers.
Reimplemented from MessageHandler.