QOS_DwTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE > Class Template Reference

#include <QOS_DwTp_Base_T.h>

Inheritance diagram for QOS_DwTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 QOS_DwTp_Base_T (void)
 ~QOS_DwTp_Base_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_DwTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE >

Author:
Marcel Smit (msmit@remedy.nl)
This template contains the parsing of all QOS XML setting which the DataWriter and the DataReader have in common.

The DDS_QOS_TYPE template attribute can either contain an DDS::DataReaderQos or an DDS::DataWriterQos. These are the IDL representatives.

The XML_QOS_TYPE can either contain an dds::datareaderQos or an dds::datawriterQos. These are the XML representatives.

Definition at line 22 of file QOS_DwTp_Base_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_DwTp_Base_T< XML_QOS_TYPE, DDS_QOS_TYPE >::DwDrTpBase [private]

Definition at line 32 of file QOS_DwTp_Base_T.h.


Constructor & Destructor Documentation

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

Definition at line 6 of file QOS_DwTp_Base_T.cpp.

00007 {
00008 }

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

Definition at line 11 of file QOS_DwTp_Base_T.cpp.

00012 {
00013 }


Member Function Documentation

template<typename XML_QOS_TYPE, typename DDS_QOS_TYPE>
void QOS_DwTp_Base_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 >.

Reimplemented in QOS_DataWriter_T< XML_QOS_TYPE, DDS_QOS_TYPE >.

Definition at line 17 of file QOS_DwTp_Base_T.cpp.

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

Referenced by QOS_DataWriter_T< XML_QOS_TYPE, DDS_QOS_TYPE >::read_qos().

00018 {
00019   DwDrTpBase::read_qos (dds_qos, xml_qos);
00020 
00021   if (xml_qos->durability_service_p ())
00022     {
00023       if (xml_qos->durability_service ().service_cleanup_delay_p ())
00024         {
00025           const std::string nsec = xml_qos->durability_service ().service_cleanup_delay ().nanosec ();
00026           const std::string sec = xml_qos->durability_service ().service_cleanup_delay ().sec ();
00027 
00028           QosCommon::get_duration (dds_qos.durability_service.service_cleanup_delay,
00029                                    sec.c_str (),
00030                                    nsec.c_str ());
00031           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00032             {
00033               ACE_DEBUG ((LM_TRACE,
00034                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00035                 ACE_TEXT ("Set durability Service service_cleanup_delay to <%d:%u>\n"),
00036                 dds_qos.durability_service.service_cleanup_delay.sec,
00037                 dds_qos.durability_service.service_cleanup_delay.nanosec));
00038             }
00039         }
00040       if (xml_qos->durability_service ().history_kind_p ())
00041         {
00042           QosCommon::get_history_kind (xml_qos->durability_service ().history_kind (),
00043                                        dds_qos.durability_service.history_kind);
00044 
00045           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00046             {
00047               ACE_DEBUG ((LM_TRACE,
00048                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00049                 ACE_TEXT ("Set durability Service history_kind to <%d>\n"),
00050                 dds_qos.durability_service.history_kind));
00051             }
00052 
00053         }
00054       if (xml_qos->durability_service ().history_depth_p ())
00055         {
00056           dds_qos.durability_service.history_depth =
00057             static_cast<CORBA::Long>(xml_qos->durability_service().history_depth());
00058 
00059           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00060             {
00061               ACE_DEBUG ((LM_TRACE,
00062                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00063                 ACE_TEXT ("Set durability Service history_depth to <%u>\n"),
00064                 dds_qos.durability_service.history_depth));
00065             }
00066         }
00067       if (xml_qos->durability_service ().max_samples_p ())
00068         {
00069           const std::string max_samples = xml_qos->durability_service ().max_samples ();
00070 
00071           dds_qos.durability_service.max_samples =
00072             QosCommon::get_qos_long (max_samples.c_str ());
00073 
00074           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00075             {
00076               ACE_DEBUG ((LM_TRACE,
00077                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00078                 ACE_TEXT ("Set durability service max_samples to <%d>\n"),
00079                 dds_qos.durability_service.max_samples));
00080             }
00081         }
00082       if (xml_qos->durability_service ().max_instances_p ())
00083         {
00084           const std::string max_instances = xml_qos->durability_service ().max_instances ();
00085 
00086           dds_qos.durability_service.max_instances =
00087             QosCommon::get_qos_long (max_instances.c_str ());
00088 
00089           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00090             {
00091               ACE_DEBUG ((LM_TRACE,
00092                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00093                 ACE_TEXT ("Set durability service max_instances to <%d>\n"),
00094                 dds_qos.durability_service.max_instances));
00095             }
00096         }
00097       if (xml_qos->durability_service ().max_samples_per_instance_p ())
00098         {
00099           const std::string max_samples_per_instance =
00100             xml_qos->durability_service ().max_samples_per_instance ();
00101 
00102           dds_qos.durability_service.max_samples_per_instance =
00103             QosCommon::get_qos_long (max_samples_per_instance.c_str ());
00104 
00105           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00106             {
00107               ACE_DEBUG ((LM_TRACE,
00108                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00109                 ACE_TEXT ("Set durability service max_samples_per_instance to <%u>\n"),
00110                 dds_qos.durability_service.max_samples_per_instance));
00111             }
00112         }
00113     }
00114   if (xml_qos->transport_priority_p ())
00115     {
00116       dds_qos.transport_priority.value =
00117         static_cast<CORBA::Long>(xml_qos->transport_priority().value());
00118 
00119       if (OpenDDS::DCPS::DCPS_debug_level > 9)
00120         {
00121           ACE_DEBUG ((LM_TRACE,
00122             ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00123             ACE_TEXT ("Set transport_priority to <%u>\n"),
00124             dds_qos.transport_priority.value));
00125         }
00126     }
00127   if (xml_qos->lifespan_p ())
00128     {
00129       if (xml_qos->lifespan ().duration_p ())
00130         {
00131           const std::string nsec = xml_qos->lifespan ().duration ().nanosec ();
00132           const std::string sec = xml_qos->lifespan ().duration ().sec ();
00133 
00134           QosCommon::get_duration (dds_qos.lifespan.duration,
00135                                    sec.c_str (),
00136                                    nsec.c_str ());
00137           if (OpenDDS::DCPS::DCPS_debug_level > 9)
00138             {
00139               ACE_DEBUG ((LM_TRACE,
00140                 ACE_TEXT ("QOS_DwTp_Base_T<XML_QOS_TYPE, DDS_QOS_TYPE>::read_qos - ")
00141                 ACE_TEXT ("Set Lifespan duration to <%d:%u>\n"),
00142                 dds_qos.lifespan.duration.sec, dds_qos.lifespan.duration.nanosec));
00143             }
00144         }
00145     }
00146 }


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