Go to the documentation of this file.00001
00002
00003 #include <<%= typekit.name %>/Types.hpp>
00004 #include <<%= typekit.name %>/type_info/BoostSerialization.hpp>
00005 #include <<%= type.info_type_header %>>
00006 <% if type.full_name == "/std/string" %>
00007 #include <rtt/typekit/StdStringTypeInfo.hpp>
00008 <% end %>
00009
00010 <% base_class =
00011 if !Orocos::TypekitMarshallers::TypeInfo::Plugin.rtt_scripting?
00012 ["RTT::types::PrimitiveTypeInfo< #{type.cxx_name} >", "RTT::types::TemplateConnFactory< #{type.cxx_name} >"]
00013 elsif type.full_name == "/std/string"
00014 ["RTT::types::StdStringTypeInfo"]
00015 else
00016 ["#{type.info_type}< #{type.cxx_name} >"]
00017 end
00018 %>
00019
00020 namespace orogen_typekits {
00021 struct <%= type.method_name(true) %>TypeInfo :
00022 public <%= base_class.join(", public ") %>
00023 {
00024 <%= type.method_name(true) %>TypeInfo()
00025 : <%= base_class.first %>("<%= type.full_name %>") {}
00026
00027 <% if !Orocos::TypekitMarshallers::TypeInfo::Plugin.rtt_scripting? %>
00028 bool installTypeInfoObject(RTT::types::TypeInfo* ti) {
00029
00030
00031
00032 boost::shared_ptr< <%= type.method_name(true) %>TypeInfo > mthis =
00033 boost::dynamic_pointer_cast< <%= type.method_name(true) %>TypeInfo >( this->getSharedPtr() );
00034
00035
00036 RTT::types::PrimitiveTypeInfo< <%= type.cxx_name %> >::installTypeInfoObject(ti);
00037
00038 ti->setPortFactory(mthis);
00039
00040 return false;
00041 }
00042 <% end %>
00043
00044 };
00045
00046 RTT::types::TypeInfoGenerator* <%= type.method_name(true) %>_TypeInfo()
00047 { return new <%= type.method_name(true) %>TypeInfo(); }
00048
00049 }
00050
00051 <%= Generation.render_template('typekit', 'TemplateInstanciation.cpp', binding) %>
00052