38 #ifndef ORO_CORELIB_TYPEINFOREPOSITORY_HPP 39 #define ORO_CORELIB_TYPEINFOREPOSITORY_HPP 44 #include <boost/shared_ptr.hpp> 45 #include <boost/function.hpp> 59 typedef std::map<std::string, TypeInfo*> map_t;
62 typedef std::vector<TransportPlugin*> Transports;
63 Transports transports;
66 boost::function<bool (const std::string &)> loadTypeKitForName;
68 TypeInfo* typeInternal(
const std::string& name )
const;
70 ~TypeInfoRepository();
71 typedef boost::shared_ptr<TypeInfoRepository>
shared_ptr;
72 static shared_ptr Instance();
73 static void Release();
75 void setAutoLoader(
const boost::function<
bool (
const std::string &)> &loader);
82 TypeInfo* type(
const std::string& name )
const;
105 std::vector<std::string> getTypes()
const;
111 std::vector<std::string> getDottedTypes()
const;
117 std::string toDot(
const std::string& type )
const;
127 TypeInfo* getTypeById(
const char * type_id_name)
const;
134 return getTypeById( &
typeid(T) );
147 void logTypeInfo()
const;
This class contains all known types to Orocos.
const std::type_info * TypeId
TypeInfo * getTypeInfo() const
Return the type info structure of a given type T.
A class which registers TypeTransporter instances to types.
All generator classes inherit from this object in order to allow them to be added to the TypeInfoRepo...
A class for representing a user type, and which can build instances of that type. ...
An object oriented wrapper around a non recursive mutex.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
boost::shared_ptr< TypeInfoRepository > shared_ptr