Embedded Template Library 1.0
etl::imessage_bus Class Reference

Interface for message bus. More...

#include <message_bus.h>

Public Member Functions

bool subscribe (etl::imessage_router &router)
 Subscribe to the bus.
 
void unsubscribe (etl::message_router_id_t id)
 Unsubscribe from the bus.
 
void unsubscribe (etl::imessage_router &router)
 
virtual void receive (const etl::imessage &message) ETL_OVERRIDE
 
virtual void receive (etl::shared_message shared_msg) ETL_OVERRIDE
 
virtual void receive (etl::message_router_id_t destination_router_id, const etl::imessage &message) ETL_OVERRIDE
 
virtual void receive (etl::message_router_id_t destination_router_id, etl::shared_message shared_msg) ETL_OVERRIDE
 
bool accepts (etl::message_id_t) const ETL_OVERRIDE
 
size_t size () const
 
void clear ()
 
ETL_DEPRECATED bool is_null_router () const ETL_OVERRIDE
 
bool is_producer () const ETL_OVERRIDE
 
bool is_consumer () const ETL_OVERRIDE
 
virtual bool accepts (etl::message_id_t) const=0
 
bool accepts (const etl::imessage &msg) const
 
virtual bool accepts (etl::message_id_t) const=0
 
bool accepts (const etl::imessage &msg) const
 
- Public Member Functions inherited from etl::imessage_router
virtual void receive (const etl::imessage &)=0
 
virtual bool accepts (etl::message_id_t) const =0
 
virtual bool is_null_router () const =0
 
virtual bool is_producer () const =0
 
virtual bool is_consumer () const =0
 
virtual void receive (etl::message_router_id_t destination_router_id, const etl::imessage &message)
 
virtual void receive (etl::shared_message shared_msg)
 
virtual void receive (etl::message_router_id_t destination_router_id, etl::shared_message shared_msg)
 
bool accepts (const etl::imessage &msg) const
 
etl::message_router_id_t get_message_router_id () const
 
virtual void receive (const etl::imessage &)=0
 
virtual bool accepts (etl::message_id_t) const =0
 
virtual bool is_null_router () const =0
 
virtual bool is_producer () const =0
 
virtual bool is_consumer () const =0
 
virtual void receive (etl::message_router_id_t destination_router_id, const etl::imessage &message)
 
virtual void receive (etl::shared_message shared_msg)
 
virtual void receive (etl::message_router_id_t destination_router_id, etl::shared_message shared_msg)
 
bool accepts (const etl::imessage &msg) const
 
etl::message_router_id_t get_message_router_id () const
 
- Public Member Functions inherited from etl::successor< imessage_router >
 successor ()
 Default constructor.
 
 successor (successor_type &s)
 Construct from a successor type.
 
void set_successor (successor_type &s)
 Set the successor.
 
void append_successor (TSuccessor &s)
 Append a successor.
 
void clear_successor ()
 Clear the successor.
 
void clear_successor_chain ()
 Clear the successor chain.
 
successor_typeget_successor () const
 
bool has_successor () const
 Does this have a successor?
 

Protected Member Functions

 imessage_bus (router_list_t &list)
 Constructor.
 
 imessage_bus (router_list_t &list, etl::imessage_router &successor)
 Constructor.
 
- Protected Member Functions inherited from etl::imessage_router
 imessage_router (etl::message_router_id_t id_)
 
 imessage_router (etl::message_router_id_t id_, imessage_router &successor_)
 
 imessage_router (etl::message_router_id_t id_)
 
 imessage_router (etl::message_router_id_t id_, imessage_router &successor_)
 

Additional Inherited Members

- Public Types inherited from etl::imessage_router
enum  {
  NULL_MESSAGE_ROUTER = 255 , MESSAGE_BUS = 254 , ALL_MESSAGE_ROUTERS = 253 , MESSAGE_BROKER = 252 ,
  MESSAGE_ROUTER = 251 , MAX_MESSAGE_ROUTER = 249
}
 
enum  {
  NULL_MESSAGE_ROUTER = 255 , MESSAGE_BUS = 254 , ALL_MESSAGE_ROUTERS = 253 , MESSAGE_BROKER = 252 ,
  MESSAGE_ROUTER = 251 , MAX_MESSAGE_ROUTER = 249
}
 
- Public Types inherited from etl::successor< imessage_router >
typedef imessage_router successor_type
 

Detailed Description

Interface for message bus.

Member Function Documentation

◆ accepts() [1/3]

bool etl::imessage_bus::accepts ( etl::message_id_t  ) const
inlinevirtual

Does this message bus accept the message id? Yes!, it accepts everything!

Implements etl::imessage_router.

◆ accepts() [2/3]

virtual bool etl::imessage_router::accepts ( etl::message_id_t  ) const
virtual

Implements etl::imessage_router.

◆ accepts() [3/3]

virtual bool etl::imessage_router::accepts ( etl::message_id_t  ) const
virtual

Implements etl::imessage_router.

◆ is_consumer()

bool etl::imessage_bus::is_consumer ( ) const
inlinevirtual

Implements etl::imessage_router.

◆ is_null_router()

ETL_DEPRECATED bool etl::imessage_bus::is_null_router ( ) const
inlinevirtual

Implements etl::imessage_router.

◆ is_producer()

bool etl::imessage_bus::is_producer ( ) const
inlinevirtual

Implements etl::imessage_router.

◆ receive() [1/4]

virtual void etl::imessage_bus::receive ( const etl::imessage message)
inlinevirtual

Implements etl::imessage_router.

◆ receive() [2/4]

virtual void etl::imessage_bus::receive ( etl::message_router_id_t  destination_router_id,
const etl::imessage message 
)
inlinevirtual

Reimplemented from etl::imessage_router.

◆ receive() [3/4]

virtual void etl::imessage_bus::receive ( etl::message_router_id_t  destination_router_id,
etl::shared_message  shared_msg 
)
inlinevirtual

Reimplemented from etl::imessage_router.

◆ receive() [4/4]

virtual void etl::imessage_bus::receive ( etl::shared_message  shared_msg)
inlinevirtual

Reimplemented from etl::imessage_router.


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