RSB  0.19.0
rsb Namespace Reference

Namespaces

 converter
 
 detail
 
 eventprocessing
 
 filter
 
 introspection
 
 patterns
 
 protocol
 
 transport
 
 util
 

Classes

class  AnyType
 A tag type for constructing Informer instances that can publish data of arbitrary types. More...
 
class  CommException
 General exception thrown upon communication errors. More...
 
struct  ConfigDebugPrinter
 
class  DataFunctionHandler
 A utility class to simplify data handling by automatically passing the data of the desired type to a function. More...
 
class  DataHandler
 A Handler that automatically performs the desired type casting. More...
 
class  Event
 Basic message that is exchanged between informers and listeners. More...
 
class  EventFunctionHandler
 A utility class to simplify event handling in ordinary functions or member functions. More...
 
class  EventId
 A unique ID for events in RSB. More...
 
class  Exception
 
class  Factory
 Factory for RSB user-level domain objects for communication patterns. More...
 
class  FilteringHandler
 A utility class that forwards events to another rsb::Handler object if they match a given rsb::filter::Filter. More...
 
class  Handler
 Asynchronously called handler interface on the client level. More...
 
class  Informer
 A informer to publish data of a specified type expressed through the template parameter. More...
 
class  InformerBase
 A informer to publish data. More...
 
class  Listener
 A Listener receives events published by rsb::Informer objects by participating in a channel with a suitable scope. More...
 
class  MetaData
 Framework-supplied meta data attached to each event that give information e.g. More...
 
class  Participant
 Objects of this class participate in the exchange of notifications on one channel of the bus. More...
 
class  ParticipantConfig
 A class describing the configuration of Participant instances. More...
 
class  QualityOfServiceSpec
 Specification of desired quality of service settings for sending and receiving events. More...
 
class  Reader
 A Reader receives events published by a informers by participating in a channel with a suitable scope. More...
 
class  Scope
 Scope is a descriptor for a hierarchical channel of the unified bus. More...
 
class  UnsupportedQualityOfServiceException
 An exception indicating that a desired QualityOfServiceSpec cannot be reached by a transport. More...
 

Typedefs

typedef boost::shared_ptr< ScopeScopePtr
 
typedef boost::shared_ptr< void > VoidPtr
 
typedef boost::shared_ptr< EventEventPtr
 
typedef std::pair< std::string, boost::shared_ptr< void > > AnnotatedData
 A combination of data type and the actual data. More...
 
typedef std::map< rsb::Scope, std::vector< rsb::EventPtr > > EventsByScopeMap
 
typedef boost::shared_ptr< EventIdEventIdPtr
 
typedef boost::signals2::signal< void(ParticipantPtr, ParticipantPtr)> SignalParticipantCreated
 
typedef boost::shared_ptr< SignalParticipantCreatedSignalParticipantCreatedPtr
 
typedef boost::shared_ptr< HandlerHandlerPtr
 
typedef boost::function< void(EventPtr)> EventFunction
 
typedef boost::shared_ptr< InformerBaseInformerBasePtr
 
typedef boost::shared_ptr< ListenerListenerPtr
 
typedef boost::signals2::signal< void(Participant *)> SignalParticipantDestroyed
 
typedef boost::shared_ptr< SignalParticipantDestroyedSignalParticipantDestroyedPtr
 
typedef boost::shared_ptr< ParticipantParticipantPtr
 
typedef boost::shared_ptr< ReaderReaderPtr
 

Functions

InformerBasePtr crateInformerBase (const Scope &scope, const std::string &dataType, const ParticipantConfig &config=getFactory().getDefaultParticipantConfig())
 Creates and returns a new Informer that publishes Event s under the Scope scope. More...
 
ListenerPtr createListener (const Scope &scope, const ParticipantConfig &config=getFactory().getDefaultParticipantConfig())
 Creates and returns a new Listener for the Scope scope. More...
 
ReaderPtr createReader (const Scope &scope, const ParticipantConfig &config=getFactory().getDefaultParticipantConfig())
 Creates and returns a new Reader object for Scope scope. More...
 
patterns::LocalServerPtr createLocalServer (const Scope &scope)
 Creates and returns a Server object that exposes methods under the Scope scope. More...
 
patterns::RemoteServerPtr createRemoteServer (const Scope &scope)
 Creates and returns a RemoteServer object for the server at Scope scope. More...
 
template<class DataType >
Informer< DataType >::Ptr createInformer (const Scope &scope, const ParticipantConfig &config=getFactory().getDefaultParticipantConfig(), const std::string &dataType=detail::TypeName< DataType >()())
 Creates and returns a new Informer that publishes Event s under the Scope scope. More...
 
FactorygetFactory ()
 Returns a factory for client-level RSB objects. More...
 
ostream & operator<< (ostream &stream, const MetaData &meta)
 
ostream & operator<< (ostream &stream, const QualityOfServiceSpec &spec)
 
void verifyAndSplit (const string &s, vector< string > &components, string &normalizedString)
 Validate that s satisfies the regular expression /([-_a-zA-Z0-9]+/)* and splits it at '/' characters. More...
 
ostream & operator<< (ostream &stream, const Scope &scope)
 

Variables

const std::string CONFIG_DEBUG_ENVIRONMENT_VARIABLE = "RSB_CONFIG_DEBUG"
 
const std::string CONFIG_FILES_ENVIRONEMNT_VARIABLE = "RSB_CONFIG_FILES"
 
FactoryfactoryWhileLoadingPlugins = NULL
 

Typedef Documentation

typedef std::pair<std::string, boost::shared_ptr<void> > rsb::AnnotatedData

A combination of data type and the actual data.

Definition at line 269 of file Event.h.

typedef boost::function<void(EventPtr)> rsb::EventFunction

Definition at line 94 of file Handler.h.

typedef boost::shared_ptr<EventId> rsb::EventIdPtr

Definition at line 82 of file EventId.h.

typedef boost::shared_ptr< Event > rsb::EventPtr

Definition at line 264 of file Event.h.

typedef std::map<rsb::Scope, std::vector<rsb::EventPtr> > rsb::EventsByScopeMap

Definition at line 44 of file EventCollections.h.

typedef boost::shared_ptr< Handler > rsb::HandlerPtr

Definition at line 92 of file Handler.h.

typedef boost::shared_ptr<InformerBase> rsb::InformerBasePtr

Definition at line 217 of file Informer.h.

typedef boost::shared_ptr<Listener> rsb::ListenerPtr

Definition at line 155 of file Listener.h.

typedef boost::shared_ptr<Participant> rsb::ParticipantPtr

Definition at line 122 of file Participant.h.

typedef boost::shared_ptr<Reader> rsb::ReaderPtr

Definition at line 106 of file Reader.h.

typedef boost::shared_ptr< Scope > rsb::ScopePtr

Definition at line 48 of file Event.h.

typedef boost::signals2::signal<void(ParticipantPtr, ParticipantPtr)> rsb::SignalParticipantCreated

Definition at line 59 of file Factory.h.

Definition at line 60 of file Factory.h.

typedef boost::signals2::signal<void(Participant*)> rsb::SignalParticipantDestroyed

Definition at line 45 of file Participant.h.

Definition at line 48 of file Participant.h.

typedef boost::shared_ptr<void> rsb::VoidPtr

Definition at line 51 of file Event.h.

Function Documentation

RSB_EXPORT InformerBasePtr rsb::crateInformerBase ( const Scope scope,
const std::string &  dataType,
const ParticipantConfig config = getFactory().getDefaultParticipantConfig() 
)

Creates and returns a new Informer that publishes Event s under the Scope scope.

Parameters
scopeThe scope of the informer.
dataTypeA string representation of the type of data sent via the new Informer.
configThe configuration for the informer to use. Defaults to the global default configuration stored in the Factory instance.
Returns
A shared_ptr pointing to the new Informer instance.
Exceptions
RSBErrorIf the requested informer cannot be created.

Definition at line 33 of file CreateFunctions.cpp.

References rsb::Factory::createInformerBase(), and getFactory().

Referenced by createInformer().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class DataType >
Informer<DataType>::Ptr rsb::createInformer ( const Scope scope,
const ParticipantConfig config = getFactory().getDefaultParticipantConfig(),
const std::string &  dataType = detail::TypeName<DataType>()() 
)

Creates and returns a new Informer that publishes Event s under the Scope scope.

Template Parameters
DataTypethe C++ data type this informer publishes
Parameters
scopeThe scope of the informer.
configThe configuration for the informer to use. Defaults to the global default configuration stored in the Factory instance.
dataTypeA string representation of the type of data sent via the new Informer.
Returns
A shared_ptr pointing to the new Informer instance.
Exceptions
RSBErrorIf the requested informer cannot be created.

Definition at line 55 of file CreateFunctions.h.

References crateInformerBase(), rsb::Factory::createInformer(), createListener(), createLocalServer(), createReader(), createRemoteServer(), and getFactory().

Here is the call graph for this function:

RSB_EXPORT ListenerPtr rsb::createListener ( const Scope scope,
const ParticipantConfig config = getFactory().getDefaultParticipantConfig() 
)

Creates and returns a new Listener for the Scope scope.

Parameters
scopeThe scope of the new listener
configThe configuration for the listener to use. Defaults to the global default configuration stored in the Factory instance.
Returns
A shared_ptr pointing to the new Listener instance.
Exceptions
RSBErrorIf the requested listener cannot be created.

Definition at line 39 of file CreateFunctions.cpp.

References rsb::Factory::createListener(), and getFactory().

Referenced by createInformer(), and rsb::Factory::createInformer().

Here is the call graph for this function:

Here is the caller graph for this function:

RSB_EXPORT patterns::LocalServerPtr rsb::createLocalServer ( const Scope scope)

Creates and returns a Server object that exposes methods under the Scope scope.

Parameters
scopeThe scope under which the new server exposes its methods.
Returns
A shared_ptr to the new Server object.

Definition at line 49 of file CreateFunctions.cpp.

References rsb::Factory::createLocalServer(), and getFactory().

Referenced by createInformer(), and rsb::Factory::createInformer().

Here is the call graph for this function:

Here is the caller graph for this function:

RSB_EXPORT ReaderPtr rsb::createReader ( const Scope scope,
const ParticipantConfig config = getFactory().getDefaultParticipantConfig() 
)

Creates and returns a new Reader object for Scope scope.

Reader objects receive event via a pull-style interface by calls to Reader::read.

Parameters
scopethe scope of the new receiver
configThe configuration for the reader to use. Defaults to the global default configuration stored in the Factory instance.
Returns
A shared_ptr to the new Reader object.
Exceptions
RSBErrorIf the requested reader cannot be created.

Definition at line 44 of file CreateFunctions.cpp.

References rsb::Factory::createReader(), and getFactory().

Referenced by createInformer(), and rsb::Factory::createInformer().

Here is the call graph for this function:

Here is the caller graph for this function:

RSB_EXPORT patterns::RemoteServerPtr rsb::createRemoteServer ( const Scope scope)

Creates and returns a RemoteServer object for the server at Scope scope.

Parameters
scopeThe scope at which the remote server object exposes itself.
Returns
A shared_ptr to the new RemoteServer object.

Definition at line 53 of file CreateFunctions.cpp.

References rsb::Factory::createRemoteServer(), and getFactory().

Referenced by createInformer(), and rsb::Factory::createInformer().

Here is the call graph for this function:

Here is the caller graph for this function:

RSB_EXPORT Factory & rsb::getFactory ( )

Returns a factory for client-level RSB objects.

Returns
the factory instance to create client level RSB objects.

Definition at line 163 of file Factory.cpp.

References factoryWhileLoadingPlugins.

Referenced by crateInformerBase(), createInformer(), rsb::Factory::createInformer(), createListener(), createLocalServer(), createReader(), createRemoteServer(), rsb::patterns::RemoteServer::getMethod(), rsb::patterns::Method::makeInformer(), rsb::patterns::Method::makeListener(), and rsb::patterns::LocalServer<>::registerMethod().

Here is the caller graph for this function:

RSB_EXPORT std::ostream & rsb::operator<< ( ostream &  stream,
const QualityOfServiceSpec spec 
)
RSB_EXPORT std::ostream & rsb::operator<< ( ostream &  stream,
const Scope scope 
)

Definition at line 245 of file Scope.cpp.

References rsb::Scope::toString().

Here is the call graph for this function:

RSB_EXPORT std::ostream & rsb::operator<< ( ostream &  stream,
const MetaData meta 
)

Definition at line 253 of file MetaData.cpp.

void rsb::verifyAndSplit ( const string &  s,
vector< string > &  components,
string &  normalizedString 
)
inline

Validate that s satisfies the regular expression /([-_a-zA-Z0-9]+/)* and splits it at '/' characters.

Parameters
sString representation that should be verified and split.
componentsA vector in which the extracted scope components should be stored
normalizedStringreturns a normalized version of the scope's string representation

Definition at line 53 of file Scope.cpp.

Referenced by rsb::Scope::Scope().

Here is the caller graph for this function:

Variable Documentation

const std::string rsb::CONFIG_DEBUG_ENVIRONMENT_VARIABLE = "RSB_CONFIG_DEBUG"

Definition at line 157 of file Factory.cpp.

const std::string rsb::CONFIG_FILES_ENVIRONEMNT_VARIABLE = "RSB_CONFIG_FILES"

Definition at line 159 of file Factory.cpp.

Factory* rsb::factoryWhileLoadingPlugins = NULL

Definition at line 161 of file Factory.cpp.

Referenced by getFactory().