QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE > Class Template Reference

#include <QOS_DataReader_T.h>

Inheritance diagram for QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >:

Inheritance graph
[legend]
Collaboration diagram for QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 QOS_DataReader_T (void)
 ~QOS_DataReader_T (void)
void read_qos (DDS_QOS_TYPE &, const XML_QOS_TYPE)

Private Types

typedef QOS_DwDrTp_Base_T<
XML_QOS_TYPE, DDS_QOS_TYPE > 
DwDrTpBase

Detailed Description

template<typename XML_QOS_TYPE, typename DDS_QOS_TYPE>
class QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >

Author:
Marcel Smit (msmit@remedy.nl)
Starting point for parsing the DataReader QOS settings.

Definition at line 13 of file QOS_DataReader_T.h.


Member Typedef Documentation

template<typename XML_QOS_TYPE, typename DDS_QOS_TYPE>
typedef QOS_DwDrTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE> QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::DwDrTpBase [private]

Definition at line 23 of file QOS_DataReader_T.h.


Constructor & Destructor Documentation

template<typename XML_QOS_TYPE, typename DDS_QOS_TYPE>
QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::QOS_DataReader_T ( void   ) 

Definition at line 6 of file QOS_DataReader_T.cpp.

00007 {
00008 }

template<typename XML_QOS_TYPE, typename DDS_QOS_TYPE>
QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::~QOS_DataReader_T ( void   ) 

Definition at line 11 of file QOS_DataReader_T.cpp.

00012 {
00013 }


Member Function Documentation

template<typename XML_QOS_TYPE, typename DDS_QOS_TYPE>
void QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::read_qos ( DDS_QOS_TYPE &  ,
const   XML_QOS_TYPE 
)

Reimplemented from QOS_DwDrTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE >.

Definition at line 17 of file QOS_DataReader_T.cpp.

References OpenDDS::DCPS::DCPS_debug_level, QosCommon::get_duration(), and QOS_DwDrTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE >::read_qos().

00018 {
00019   // First start parsing the QOS settings which the DataWriter, the DataReader,
00020   // and the Topic have in common
00021 
00022   DwDrTpBase::read_qos (dds_qos, xml_qos);
00023 
00024   // Now parse the topic-only QOS settings.
00025 
00026 //  if (xml_qos->user_data ())
00027 //    {
00028       // TODO: Have a good look at this.
00029 
00030 //       const std::string value = *xml_qos->user_data ()->value ();
00031 //
00032 //       ACE_DEBUG ((LM_TRACE,
00033 //         ACE_TEXT ("QOS_DataReader_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00034 //         ACE_TEXT ("Set user_data to <%C>\n"),
00035 //         value.c_str ()));
00036 //
00037 //       dds_qos.user_data.value =
00038 //         *xml_qos->user_data ()->value ();
00039 //     }
00040   if (xml_qos->time_based_filter_p ())
00041     {
00042       if (xml_qos->time_based_filter ().minimum_separation_p ())
00043         {
00044           const std::string nsec = xml_qos->time_based_filter ().minimum_separation ().nanosec ();
00045           const std::string sec = xml_qos->time_based_filter ().minimum_separation ().sec ();
00046 
00047           QosCommon::get_duration (dds_qos.time_based_filter.minimum_separation,
00048                                     sec.c_str (),
00049                                     nsec.c_str ());
00050 
00051           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00052             {
00053               ACE_DEBUG ((LM_TRACE,
00054                 ACE_TEXT ("QOS_DataReader_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00055                 ACE_TEXT ("Set time_based_filter minimum_separation to <%d:%u>\n"),
00056                 dds_qos.time_based_filter.minimum_separation.sec,
00057                 dds_qos.time_based_filter.minimum_separation.nanosec));
00058             }
00059         }
00060     }
00061   if (xml_qos->reader_data_lifecycle_p ())
00062     {
00063       if (xml_qos->reader_data_lifecycle ().autopurge_nowriter_samples_delay_p ())
00064         {
00065           const std::string nsec = xml_qos->reader_data_lifecycle ().autopurge_nowriter_samples_delay ().nanosec ();
00066           const std::string sec = xml_qos->reader_data_lifecycle ().autopurge_nowriter_samples_delay ().sec ();
00067 
00068           QosCommon::get_duration (dds_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay,
00069                                     sec.c_str (),
00070                                     nsec.c_str ());
00071 
00072           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00073             {
00074               ACE_DEBUG ((LM_TRACE,
00075                 ACE_TEXT ("QOS_DataReader_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00076                 ACE_TEXT ("Set reader_data_lifecycle autopurge_nowriter_samples_delay to <%d:%u>\n"),
00077                 dds_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.sec,
00078                 dds_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.nanosec));
00079             }
00080         }
00081       if (xml_qos->reader_data_lifecycle ().autopurge_disposed_samples_delay_p ())
00082         {
00083           const std::string nsec = xml_qos->reader_data_lifecycle ().autopurge_disposed_samples_delay ().nanosec ();
00084           const std::string sec = xml_qos->reader_data_lifecycle ().autopurge_disposed_samples_delay ().sec ();
00085 
00086           QosCommon::get_duration (dds_qos.reader_data_lifecycle.autopurge_disposed_samples_delay,
00087                                     sec.c_str (),
00088                                     nsec.c_str ());
00089 
00090           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00091             {
00092               ACE_DEBUG ((LM_TRACE,
00093                 ACE_TEXT ("QOS_DataReader_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00094                 ACE_TEXT ("Set reader_data_lifecycle autopurge_disposed_samples_delay to <%d:%u>\n"),
00095                 dds_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.sec,
00096                 dds_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.nanosec));
00097             }
00098         }
00099     }
00100 }


The documentation for this class was generated from the following files:
Generated on Fri Feb 12 20:05:57 2016 for OpenDDS by  doxygen 1.4.7