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;
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;
std::map< std::string, TypeInfo * > map_t
boost::function< bool(const std::string &)> loadTypeKitForName
const std::type_info * TypeId
TypeInfo * getTypeInfo() const
std::vector< TransportPlugin * > Transports
An object oriented wrapper around a non recursive mutex.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
boost::shared_ptr< TypeInfoRepository > shared_ptr