#include <QOS_DataReader_T.h>
Inheritance diagram for QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >:
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 |
Definition at line 13 of file QOS_DataReader_T.h.
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.
QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::QOS_DataReader_T | ( | void | ) |
QOS_DataReader_T< XML_QOS_TYPE, DDS_QOS_TYPE >::~QOS_DataReader_T | ( | void | ) |
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 }