00001 #ifndef DATASOURCE_TYPE_INFO_INL 00002 #define DATASOURCE_TYPE_INFO_INL 00003 00004 #include "Types.hpp" 00005 00006 namespace RTT 00007 { 00008 namespace detail { 00009 template< class T> 00010 const std::string& DataSourceTypeInfo<T>::getType() { 00011 return getTypeInfo()->getTypeName(); 00012 } 00013 00014 template< class T> 00015 const std::string& DataSourceTypeInfo<T>::getQualifier() { 00016 return DataSourceTypeInfo<UnknownType>::getQualifier(); 00017 } 00018 00019 template< class T> 00020 const TypeInfo* DataSourceTypeInfo<T>::getTypeInfo() { 00021 if (!TypeInfoObject) { 00022 TypeInfoObject = TypeInfoRepository::Instance()->getTypeInfo<T>(); 00023 if (!TypeInfoObject) 00024 return DataSourceTypeInfo<UnknownType>::getTypeInfo(); 00025 } 00026 return TypeInfoObject; 00027 } 00028 00029 template< class T> 00030 TypeInfo* DataSourceTypeInfo<T>::TypeInfoObject = 0; 00031 00032 } 00033 00034 } 00035 00036 #endif