RSB
0.16.1
|
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 | |
ConnectorFactory () | |
ConnectorInfo | getConnectorInfo (const std::string &name) const |
Return information regarding the connector implementation named name. More... | |
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. More... | |
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 | |
void | printContents (std::ostream &stream) const |
Private Attributes | |
rsc::logging::LoggerPtr | logger |
InfoMap | infos |
Friends | |
InPullFactory & | getInPullFactory () |
InPushFactory & | getInPushFactory () |
OutFactory & | getOutFactory () |
Objects of this class are specialized factories that construct Connector objects and provide introspection for connector implementations without instantiating them.
|
private |
|
private |
|
private |
|
private |
|
inline |
|
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 189 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::infos.
Referenced by rsb::transport::isAvailable(), rsb::transport::isRemote(), and rsb::transport::ConnectorFactory< Interface >::printContents().
|
inline |
Definition at line 197 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::infos.
Referenced by rsb::transport::getAvailableTransports().
|
inlineprivate |
Definition at line 245 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 219 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::infos, rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::options, rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::remote, and rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::schemas.
Referenced by rsb::transport::ConnectorFactory< Interface >::registerConnector(), and rsb::transport::registerDefaultTransports().
|
inline |
Definition at line 234 of file Factory.h.
References rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::options, rsb::transport::ConnectorFactory< Interface >::registerConnector(), rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::remote, and rsb::transport::ConnectorFactory< Interface >::ConnectorInfo::schemas.
|
friend |
Definition at line 32 of file Factory.cpp.
|
friend |
Definition at line 37 of file Factory.cpp.
|
friend |
Definition at line 42 of file Factory.cpp.
|
private |
Definition at line 243 of file Factory.h.
Referenced by rsb::transport::ConnectorFactory< Interface >::getConnectorInfo(), rsb::transport::ConnectorFactory< Interface >::getConnectorInfos(), and rsb::transport::ConnectorFactory< Interface >::registerConnector().
|
private |