$sp($(spaces))class $(DLL_IMPORTEXPORT) $(typename)TypeSupportFactory : public ::DDS::TypeSupportFactory_impl
$sp($(spaces)){
$sp($(spaces))public:
$sp($(spaces))    $(typename)TypeSupportFactory() {}
$sp($(spaces))    virtual ~$(typename)TypeSupportFactory() {}
$sp($(spaces))private:
$sp($(spaces))    ::DDS::DataWriter_ptr 
$sp($(spaces))    create_datawriter (gapi_dataWriter handle);
$sp($(spaces))
$sp($(spaces))    ::DDS::DataReader_ptr 
$sp($(spaces))    create_datareader (gapi_dataReader handle);
$sp($(spaces))};
$sp($(spaces))
$sp($(spaces))class $(DLL_IMPORTEXPORT) $(typename)TypeSupport : public virtual $(typename)TypeSupportInterface,
$sp($(spaces))                               public ::DDS::TypeSupport_impl
$sp($(spaces)){
$sp($(spaces))public:
$sp($(spaces))    virtual ::DDS::ReturnCode_t register_type(
$sp($(spaces))        ::DDS::DomainParticipant_ptr participant,
$sp($(spaces))        const char * type_name) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual char * get_type_name() THROW_ORB_EXCEPTIONS;    
$sp($(spaces))
$sp($(spaces))    $(typename)TypeSupport (void);
$sp($(spaces))    virtual ~$(typename)TypeSupport (void);
$sp($(spaces))
$sp($(spaces))private:
$sp($(spaces))    $(typename)TypeSupport (const $(typename)TypeSupport &);
$sp($(spaces))    void operator= (const $(typename)TypeSupport &);
$sp($(spaces))
$sp($(spaces))    static const char *metaDescriptor;
$sp($(spaces))};
$sp($(spaces))
$sp($(spaces))typedef $(typename)TypeSupportInterface_var $(typename)TypeSupport_var;
$sp($(spaces))typedef $(typename)TypeSupportInterface_ptr $(typename)TypeSupport_ptr;
$sp($(spaces))
$sp($(spaces))class $(DLL_IMPORTEXPORT) $(typename)DataWriter_impl : public virtual $(typename)DataWriter,
$sp($(spaces))                                    public ::DDS::DataWriter_impl
$sp($(spaces)){
$sp($(spaces))public:
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::InstanceHandle_t register_instance(
$sp($(spaces))        const $(typename) & instance_data) THROW_ORB_EXCEPTIONS;
$sp($(spaces))        
$sp($(spaces))    virtual ::DDS::InstanceHandle_t register_instance_w_timestamp(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
$sp($(spaces))        
$sp($(spaces))    virtual ::DDS::ReturnCode_t unregister_instance(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t unregister_instance_w_timestamp(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle,
$sp($(spaces))        const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t write(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t write_w_timestamp(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle,
$sp($(spaces))        const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t dispose(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t dispose_w_timestamp(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle,
$sp($(spaces))        const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t writedispose(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t writedispose_w_timestamp(
$sp($(spaces))        const $(typename) & instance_data,
$sp($(spaces))        ::DDS::InstanceHandle_t handle,
$sp($(spaces))        const ::DDS::Time_t & source_timestamp) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t get_key_value(
$sp($(spaces))        $(typename) & key_holder,
$sp($(spaces))        ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::InstanceHandle_t lookup_instance(
$sp($(spaces))        const $(typename) & instance_data) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))
$sp($(spaces))    $(typename)DataWriter_impl (
$sp($(spaces))        gapi_dataWriter handle
$sp($(spaces))    );
$sp($(spaces))
$sp($(spaces))    virtual ~$(typename)DataWriter_impl (void);
$sp($(spaces))
$sp($(spaces))private:
$sp($(spaces))    $(typename)DataWriter_impl(const $(typename)DataWriter_impl &);
$sp($(spaces))    void operator= (const $(typename)DataWriter &);
$sp($(spaces))};
$sp($(spaces))
$sp($(spaces))class $(DLL_IMPORTEXPORT) $(typename)DataReader_impl : public virtual $(typename)DataReader,
$sp($(spaces))                                    public ::DDS::DataReader_impl
$sp($(spaces)){
$sp($(spaces))public:
$sp($(spaces))    virtual ::DDS::ReturnCode_t read(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::SampleStateMask sample_states,
$sp($(spaces))        ::DDS::ViewStateMask view_states,
$sp($(spaces))        ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t take(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::SampleStateMask sample_states,
$sp($(spaces))        ::DDS::ViewStateMask view_states,
$sp($(spaces))        ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t read_w_condition(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t take_w_condition(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t read_next_sample(
$sp($(spaces))        $(typename) & received_data,
$sp($(spaces))        ::DDS::SampleInfo & sample_info) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t take_next_sample(
$sp($(spaces))        $(typename) & received_data,
$sp($(spaces))        ::DDS::SampleInfo & sample_info) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t read_instance(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::InstanceHandle_t a_handle,
$sp($(spaces))        ::DDS::SampleStateMask sample_states,
$sp($(spaces))        ::DDS::ViewStateMask view_states,
$sp($(spaces))        ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t take_instance(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::InstanceHandle_t a_handle,
$sp($(spaces))        ::DDS::SampleStateMask sample_states,
$sp($(spaces))        ::DDS::ViewStateMask view_states,
$sp($(spaces))        ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t read_next_instance(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::InstanceHandle_t a_handle,
$sp($(spaces))        ::DDS::SampleStateMask sample_states,
$sp($(spaces))        ::DDS::ViewStateMask view_states,
$sp($(spaces))        ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t take_next_instance(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::InstanceHandle_t a_handle,
$sp($(spaces))        ::DDS::SampleStateMask sample_states,
$sp($(spaces))        ::DDS::ViewStateMask view_states,
$sp($(spaces))        ::DDS::InstanceStateMask instance_states) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t read_next_instance_w_condition(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::InstanceHandle_t a_handle,
$sp($(spaces))        ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t take_next_instance_w_condition(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples,
$sp($(spaces))        ::DDS::InstanceHandle_t a_handle,
$sp($(spaces))        ::DDS::ReadCondition_ptr a_condition) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    virtual ::DDS::ReturnCode_t return_loan(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::ReturnCode_t get_key_value(
$sp($(spaces))        $(typename) & key_holder,
$sp($(spaces))        ::DDS::InstanceHandle_t handle) THROW_ORB_EXCEPTIONS;
$sp($(spaces))    
$sp($(spaces))    virtual ::DDS::InstanceHandle_t lookup_instance(
$sp($(spaces))        const $(typename) & instance) THROW_ORB_EXCEPTIONS;
$sp($(spaces))
$sp($(spaces))    $(typename)DataReader_impl (
$sp($(spaces))        gapi_dataReader handle
$sp($(spaces))    );
$sp($(spaces))
$sp($(spaces))    virtual ~$(typename)DataReader_impl(void);
$sp($(spaces))
$sp($(spaces))private:
$sp($(spaces))    $(typename)DataReader_impl(const $(typename)DataReader &);
$sp($(spaces))    void operator= (const $(typename)DataReader &);
$sp($(spaces))
$sp($(spaces))    ::DDS::ReturnCode_t check_preconditions(
$sp($(spaces))        $(typename)Seq & received_data,
$sp($(spaces))        ::DDS::SampleInfoSeq & info_seq,
$sp($(spaces))        DDS::Long max_samples
$sp($(spaces))    );
$sp($(spaces))};
$sp($(spaces))
