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 15 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 25 of file QOS_DataReader_T.h.


Constructor & Destructor Documentation

template<typename XML_QOS_TYPE , typename DDS_QOS_TYPE >
OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::QOS_DataReader_T ( void   )  [inline]

Definition at line 8 of file QOS_DataReader_T.cpp.

00009 {
00010 }

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

Definition at line 13 of file QOS_DataReader_T.cpp.

00014 {
00015 }


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 &  dds_qos,
const XML_QOS_TYPE  xml_qos 
) [inline]

Reimplemented from QOS_DwDrTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE >.

Definition at line 19 of file QOS_DataReader_T.cpp.

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

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

Here is the call graph for this function:


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1