#include <TypeInfoRepository.hpp>
Public Types | |
typedef boost::shared_ptr < TypeInfoRepository > | shared_ptr |
Public Member Functions | |
bool | addType (TypeInfo *ti) |
bool | addType (TypeInfoGenerator *tig) |
std::vector< std::string > | getDottedTypes () const |
TypeInfo * | getTypeById (TypeInfo::TypeId type_id) const |
TypeInfo * | getTypeById (const char *type_id_name) const |
template<class T > | |
TypeInfo * | getTypeInfo () const |
std::vector< std::string > | getTypes () const |
void | logTypeInfo () const |
void | registerTransport (TransportPlugin *tr) |
std::string | toDot (const std::string &type) const |
TypeInfo * | type (const std::string &name) const |
~TypeInfoRepository () | |
Static Public Member Functions | |
static shared_ptr | Instance () |
Private Types | |
typedef std::map< std::string, TypeInfo * > | map_t |
typedef std::vector < TransportPlugin * > | Transports |
Private Member Functions | |
TypeInfoRepository () | |
Private Attributes | |
map_t | data |
Transports | transports |
os::Mutex | type_lock |
This class contains all known types to Orocos.
Definition at line 55 of file TypeInfoRepository.hpp.
typedef std::map<std::string, TypeInfo*> RTT::types::TypeInfoRepository::map_t [private] |
Definition at line 58 of file TypeInfoRepository.hpp.
typedef boost::shared_ptr<TypeInfoRepository> RTT::types::TypeInfoRepository::shared_ptr |
Definition at line 66 of file TypeInfoRepository.hpp.
typedef std::vector<TransportPlugin*> RTT::types::TypeInfoRepository::Transports [private] |
Definition at line 61 of file TypeInfoRepository.hpp.
RTT::TypeInfoRepository::TypeInfoRepository | ( | ) | [private] |
Definition at line 59 of file TypeInfoRepository.cpp.
Definition at line 87 of file TypeInfoRepository.cpp.
bool RTT::TypeInfoRepository::addType | ( | TypeInfo * | ti | ) |
Add a type to the Orocos type repository.
ti | A type info object that becomes owned by the TypeInfoRepository (so use new()). It's name must be unique. |
Definition at line 124 of file TypeInfoRepository.cpp.
bool RTT::TypeInfoRepository::addType | ( | TypeInfoGenerator * | tig | ) |
Add a type by using a type info generator. This class is responsible for installing the TypeInfo object, registering the name and installing the necessary factories.
Definition at line 138 of file TypeInfoRepository.cpp.
std::vector< std::string > RTT::TypeInfoRepository::getDottedTypes | ( | ) | const |
List all registered types in the package.type notation.
Definition at line 189 of file TypeInfoRepository.cpp.
TypeInfo * RTT::TypeInfoRepository::getTypeById | ( | TypeInfo::TypeId | type_id | ) | const |
Return the type info structure of a given type by its type_id.
Definition at line 100 of file TypeInfoRepository.cpp.
TypeInfo * RTT::TypeInfoRepository::getTypeById | ( | const char * | type_id_name | ) | const |
Return the type info structure of a given type name.
Definition at line 113 of file TypeInfoRepository.cpp.
TypeInfo* RTT::types::TypeInfoRepository::getTypeInfo | ( | ) | const [inline] |
Return the type info structure of a given type T.
Definition at line 124 of file TypeInfoRepository.hpp.
std::vector< std::string > RTT::TypeInfoRepository::getTypes | ( | ) | const |
List all types registered with their original type name. See getDottedTypes for the typenames written in the 'package.type' notation.
Definition at line 172 of file TypeInfoRepository.cpp.
boost::shared_ptr< TypeInfoRepository > RTT::TypeInfoRepository::Instance | ( | ) | [static] |
Definition at line 63 of file TypeInfoRepository.cpp.
void RTT::TypeInfoRepository::logTypeInfo | ( | ) | const |
Dump all known types, along with transports and their types, to the log.
Definition at line 213 of file TypeInfoRepository.cpp.
Call this function to add a new (network) transport for Orocos types.
Definition at line 198 of file TypeInfoRepository.cpp.
string RTT::TypeInfoRepository::toDot | ( | const std::string & | type | ) | const |
Convert any type name returned by getTypes() to the dotted type notation.
Definition at line 178 of file TypeInfoRepository.cpp.
TypeInfo * RTT::TypeInfoRepository::type | ( | const std::string & | name | ) | const |
Retrieve a type with a given name.
name | The type name as specified by the TypeInfo object, or it's dotted equivalent. |
Definition at line 72 of file TypeInfoRepository.cpp.
map_t RTT::types::TypeInfoRepository::data [private] |
Definition at line 59 of file TypeInfoRepository.hpp.
Definition at line 62 of file TypeInfoRepository.hpp.
os::Mutex RTT::types::TypeInfoRepository::type_lock [mutable, private] |
Definition at line 63 of file TypeInfoRepository.hpp.