42 #include "../Logger.hpp" 46 using namespace detail;
49 static std::vector<TypekitPlugin*> Typekits;
50 static std::vector<TransportPlugin*> Transports;
55 for( vector<TypekitPlugin*>::iterator it = Typekits.begin(); it != Typekits.end(); ++it ) {
56 if ( (*it)->getName() == tkp->
getName() ) {
64 Typekits.push_back( tkp );
84 for( vector<TransportPlugin*>::iterator it = Transports.begin(); it != Transports.end(); ++it ) {
85 if ( (*it)->getName() == trp->
getName() ) {
93 Transports.push_back( trp );
100 std::vector<std::string> ret;
101 for (std::vector<TypekitPlugin*>::const_iterator it = Typekits.begin();
102 it != Typekits.end(); ++it)
103 ret.push_back( (*it)->getName() );
109 std::vector<std::string> ret;
110 for (std::vector<TransportPlugin*>::const_iterator it = Transports.begin();
111 it != Transports.end(); ++it)
112 ret.push_back( (*it)->getTransportName() +
"://" + (*it)->getTypekitName() );
118 for (std::vector<TypekitPlugin*>::const_iterator it = Typekits.begin();
119 it != Typekits.end(); ++it)
120 if ((*it)->getName() == toolname)
127 for (std::vector<TransportPlugin*>::const_iterator it = Transports.begin();
128 it != Transports.end(); ++it)
129 if ((*it)->getTransportName() +
"://" + (*it)->getTypekitName() == transportname)
135 for (std::vector<TransportPlugin*>::const_iterator it = Transports.begin();
136 it != Transports.end(); ++it)
138 for (std::vector<TypekitPlugin*>::const_iterator it = Typekits.begin();
139 it != Typekits.end(); ++it)
static bool hasTypekit(const std::string &typekitname)
Check if a typekit with given name was already imported.
static bool hasTransport(const std::string &transportname)
Check if a transport with given name was already imported.
static std::vector< std::string > getTransports()
Get the names of all imported transports.
virtual bool loadGlobals()
Implement this function to add global variables to the type system.
static void Release()
Removes all Typekits and transports from memory.
virtual std::string getTypekitName() const =0
Returns the intended typekit name of this plugin.
virtual std::string getName()=0
Each plugin must have a unique name.
static void Import(TypekitPlugin *tkp)
Import a typekit plugin into the type system of this process.
This interface defines how additional typekits are loaded into Orocos.
A class which registers TypeTransporter instances to types.
virtual std::string getTransportName() const =0
Returns the (protocol) name of this transport.
static std::vector< std::string > getTypekits()
Get the names of all imported typekits.
static std::ostream & endl(std::ostream &__os)
static shared_ptr Instance()
Notify the Logger in which 'module' the message occured.
virtual bool loadOperators()=0
Implement this method to load Scripting operators on types, such as '+', '*', ... ...
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
virtual bool loadTypes()=0
Implement this method to add types to the Orocos type system.
virtual bool loadConstructors()=0
Implement this method to load Scripting constructors of types, such as in C++.
virtual std::string getName() const =0
Each plugin must have a unique name.