TopicQos_Handler.cpp
Go to the documentation of this file.00001 #include "TopicQos_Handler.h"
00002 #include "QOS_Topic_T.h"
00003
00004 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00005
00006 bool
00007 TopicQos_Handler::get_topic_qos (DDS::TopicQos& tp_qos,
00008 dds::qosProfile * profile,
00009 const ACE_TCHAR * name)
00010 {
00011 if (name)
00012 {
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 }
00024 else
00025 {
00026 if (profile->count_topic_qos () == 0)
00027 {
00028 if (OpenDDS::DCPS::DCPS_debug_level > 7)
00029 {
00030 ACE_DEBUG ((LM_TRACE,
00031 ACE_TEXT ("TopicQos_Handler::get_topic_qos - ")
00032 ACE_TEXT ("No Topic QOS available in profile <%C>\n"),
00033 profile->name ().c_str ()));
00034 }
00035 return true;
00036 }
00037
00038 dds::qosProfile::topic_qos_iterator tp_it = profile->begin_topic_qos ();
00039 return TopicQos_Handler::get_topic_qos (tp_qos, tp_it->get ());
00040 }
00041
00042 ACE_ERROR ((LM_DEBUG,
00043 ACE_TEXT ("TopicQos_Handler::get_topic_qos - ")
00044 ACE_TEXT ("Unable to find TopicQos <%C>\n"),
00045 name));
00046 return false;
00047 }
00048
00049 bool
00050 TopicQos_Handler::get_topic_qos (DDS::TopicQos& tp_qos,
00051 dds::topicQos * tp)
00052 {
00053 typedef QOS_Topic_T<dds::topicQos*, DDS::TopicQos> tp_type;
00054 tp_type topic_qos_handler;
00055 topic_qos_handler.read_qos (tp_qos, tp);
00056
00057 return true;
00058 }
00059
00060 OPENDDS_END_VERSIONED_NAMESPACE_DECL