RSB  0.7.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rsb::inprocess::Bus Class Reference

#include <Bus.h>

Inheritance diagram for rsb::inprocess::Bus:
Inheritance graph
Collaboration diagram for rsb::inprocess::Bus:
Collaboration graph

Public Member Functions

 Bus ()
virtual ~Bus ()
std::string getClassName () const
void addSink (InConnectorPtr sink)
void removeSink (InConnector *sink)
void handle (EventPtr event)
 Handle event.
- Public Member Functions inherited from rsb::eventprocessing::Handler
virtual ~Handler ()

Private Types

typedef std::list
< boost::weak_ptr< InConnector > > 
SinkList
typedef std::map< Scope, SinkListSinkMap

Private Member Functions

void handleNoLock (EventPtr event)

Private Attributes

rsc::logging::LoggerPtr logger
SinkMap sinks
boost::recursive_mutex mutex
bool singleThreaded

Detailed Description

Author
jmoringe

Definition at line 53 of file Bus.h.

Member Typedef Documentation

typedef std::list< boost::weak_ptr<InConnector> > rsb::inprocess::Bus::SinkList
private

Definition at line 69 of file Bus.h.

typedef std::map<Scope, SinkList> rsb::inprocess::Bus::SinkMap
private

Definition at line 70 of file Bus.h.

Constructor & Destructor Documentation

rsb::inprocess::Bus::Bus ( )

Definition at line 38 of file Bus.cpp.

rsb::inprocess::Bus::~Bus ( )
virtual

Definition at line 42 of file Bus.cpp.

References logger, and sinks.

Member Function Documentation

void rsb::inprocess::Bus::addSink ( InConnectorPtr  sink)

Definition at line 59 of file Bus.cpp.

References logger, mutex, and sinks.

string rsb::inprocess::Bus::getClassName ( ) const

Definition at line 51 of file Bus.cpp.

void rsb::inprocess::Bus::handle ( EventPtr  event)
virtual

Handle event.

Parameters
eventThe event that should be handled.

Implements rsb::eventprocessing::Handler.

Definition at line 140 of file Bus.cpp.

References handleNoLock(), mutex, and singleThreaded.

Referenced by rsb::inprocess::OutConnector::handle().

Here is the call graph for this function:

Here is the caller graph for this function:

void rsb::inprocess::Bus::handleNoLock ( EventPtr  event)
private

Definition at line 152 of file Bus.cpp.

References logger, and sinks.

Referenced by handle().

Here is the caller graph for this function:

void rsb::inprocess::Bus::removeSink ( InConnector sink)

Definition at line 103 of file Bus.cpp.

References rsb::inprocess::InConnector::getScope(), logger, mutex, sinks, and rsb::Scope::superScopes().

Here is the call graph for this function:

Member Data Documentation

rsc::logging::LoggerPtr rsb::inprocess::Bus::logger
private

Definition at line 72 of file Bus.h.

Referenced by addSink(), handleNoLock(), removeSink(), and ~Bus().

boost::recursive_mutex rsb::inprocess::Bus::mutex
private

Definition at line 75 of file Bus.h.

Referenced by addSink(), handle(), and removeSink().

bool rsb::inprocess::Bus::singleThreaded
private

Definition at line 77 of file Bus.h.

Referenced by handle().

SinkMap rsb::inprocess::Bus::sinks
private

Definition at line 74 of file Bus.h.

Referenced by addSink(), handleNoLock(), removeSink(), and ~Bus().


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