RSB
0.7.0
|
Objects of this class are specialized factories that construct Connector objects and provide introspection for connector implementations without instantiating them. More...
#include <Factory.h>
Classes | |
class | ConnectorInfo |
Instances of this class describe capabilities and properties of connector implementations. More... |
Public Member Functions | |
ConnectorInfo | getConnectorInfo (const std::string &name) const |
Return information regarding the connector implementation named name. | |
std::set< ConnectorInfo > | getConnectorInfos () const |
void | registerConnector (const std::string &name, const CreateFunction &constructor, const std::set< std::string > &schemas=std::set< std::string >(), bool remote=true, const std::set< std::string > &options=std::set< std::string >()) |
For the connector implementation named name, register the construct function constructor, supported schemas schemas and recognized configuration options options. | |
void | registerConnector (const std::string &name, const CreateFunction &constructor, const std::string &schema, bool remote=true, const std::set< std::string > &options=std::set< std::string >()) |
Private Types | |
typedef rsc::patterns::Factory < std::string, Interface > | Factory |
typedef Factory::CreateFunction | CreateFunction |
typedef Factory::ImplMapProxy | ImplMapProxy |
typedef std::map< std::string, ConnectorInfo > | InfoMap |
Private Member Functions | |
std::string | getClassName () const |
void | printContents (std::ostream &stream) const |
Private Attributes | |
InfoMap | infos |
Objects of this class are specialized factories that construct Connector objects and provide introspection for connector implementations without instantiating them.
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
|
inline |
Return information regarding the connector implementation named name.
name | Name of the implementation for which information should be returned. |
rsc::runtime::NoSuchObject | If a record for name cannot be found. |
Definition at line 166 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::infos.
Referenced by rsb::transport::isRemote(), and rsb::transport::ConnectorFactory< Interface >::printContents().
|
inline |
Definition at line 174 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::infos.
Referenced by rsb::Factory::Factory().
|
inlineprivate |
Definition at line 222 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::getConnectorInfo().
|
inline |
For the connector implementation named name, register the construct function constructor, supported schemas schemas and recognized configuration options options.
name | Name of the connector implementation. |
constructor | Construct function. |
schemas | A list of strings designating schemas supported by the implementation. |
options | A list of strings describing configuration options recognized by the implementation. |
Definition at line 196 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::infos.
Referenced by rsb::transport::ConnectorFactory< Interface >::registerConnector(), and rsb::transport::registerDefaultTransports().
|
inline |
Definition at line 207 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::registerConnector().
|
private |
Definition at line 216 of file Factory.h.
Referenced by rsb::transport::ConnectorFactory< Interface >::getConnectorInfo(), rsb::transport::ConnectorFactory< Interface >::getConnectorInfos(), and rsb::transport::ConnectorFactory< Interface >::registerConnector().