RSB  0.9.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rsb Namespace Reference

Namespaces

 converter
 
 detail
 
 eventprocessing
 
 filter
 
 patterns
 
 protocol
 
 transport
 
 util
 

Classes

class  CommException
 General exception thrown upon communication errors. More...
 
class  Event
 Basic message that is exchanged between informers and listeners. More...
 
class  EventId
 A unique ID for events in RSB. More...
 
class  EventQueuePushHandler
 A rsb::Handler for rsb::Listener s that pushes all received events on a rsc::SynchronizedQueue. More...
 
class  Exception
 
class  Factory
 Factory for RSB user-level domain objects for communication patterns. More...
 
class  Handler
 Asynchronously called handler interface on the client level. More...
 
class  EventFunctionHandler
 A utility class to simplify event handling in ordinary functions or member functions. More...
 
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  FilteringHandler
 A utility class that forwards events to another rsb::Handler object if they match a given rsb::filter::Filter. More...
 
class  AnyType
 A tag type for constructing Informer instances that can publish data of arbitrary types. More...
 
class  InformerBase
 A informer to publish data. More...
 
class  Informer
 A informer to publish data of a specified type expressed through the template parameter. More...
 
class  Listener
 A Listener receives events published by rsb::Informer objects by participating in a channel with a suitable scope. More...
 
class  LocalService
 A Service implementation that structures services locally. 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  QueuePushHandler
 A rsb::Handler for rsb::Listener s that pushes all received data on a rsc::SynchronizedQueue. 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  Service
 A service provides a hierarchical structure for organizing participants. More...
 
class  UnsupportedQualityOfServiceException
 An exception indicating that a desired QualityOfServiceSpec cannot be reached by a transport. More...
 

Typedefs

typedef boost::shared_ptr
< EventId
EventIdPtr
 
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
< Handler
HandlerPtr
 
typedef boost::function< void(EventPtr)> EventFunction
 
typedef boost::shared_ptr
< InformerBase
InformerBasePtr
 
typedef boost::shared_ptr
< Listener
ListenerPtr
 
typedef boost::shared_ptr
< Participant
ParticipantPtr
 
typedef boost::shared_ptr< ReaderReaderPtr
 
typedef boost::shared_ptr
< Service
ServicePtr
 

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...
 
ServicePtr createService (const Scope &scope)
 Creates and returns a Service instance operating on Scope scope. More...
 
patterns::ServerPtr createServer (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)
 

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 256 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 46 of file Event.h.

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

Definition at line 251 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 211 of file Informer.h.

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

Definition at line 150 of file Listener.h.

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

Definition at line 97 of file Participant.h.

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

Definition at line 101 of file Reader.h.

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

Definition at line 49 of file Event.h.

typedef boost::shared_ptr<Service> rsb::ServicePtr

Definition at line 42 of file Service.h.

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

Definition at line 52 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().

Here is the call 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 53 of file CreateFunctions.h.

References rsb::Factory::createInformer(), 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().

Here is the call 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().

Here is the call 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 57 of file CreateFunctions.cpp.

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

Here is the call graph for this function:

RSB_EXPORT patterns::ServerPtr rsb::createServer ( 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 53 of file CreateFunctions.cpp.

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

Here is the call graph for this function:

RSB_EXPORT ServicePtr rsb::createService ( const Scope &  scope)

Creates and returns a Service instance operating on Scope scope.

Parameters
scopeParent-scope of the new service.
Returns
pointer to the new Service instance.

Definition at line 49 of file CreateFunctions.cpp.

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

Here is the call 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 89 of file Factory.cpp.

Referenced by crateInformerBase(), createInformer(), createListener(), createReader(), createRemoteServer(), createServer(), createService(), rsb::patterns::RemoteServer::getMethodSet(), and rsb::patterns::Server<>::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: