DCPS_Utils.h

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #ifndef DCPS_UTILS_H
00009 #define DCPS_UTILS_H
00010 
00011 #include "dcps_export.h"
00012 #include "dds/DdsDcpsInfrastructureC.h"
00013 #include "dds/DdsDcpsPublicationC.h"
00014 #include "dds/DdsDcpsInfoUtilsC.h"
00015 
00016 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00017 #pragma once
00018 #endif /* ACE_LACKS_PRAGMA_ONCE */
00019 
00020 namespace OpenDDS {
00021 namespace DCPS {
00022 
00023 /// Increments the count of occurances of the incompatible policy
00024 ///  for the status
00025 OpenDDS_Dcps_Export
00026 void
00027 increment_incompatibility_count(OpenDDS::DCPS::IncompatibleQosStatus* status,
00028                                 DDS::QosPolicyId_t incompatible_policy);
00029 
00030 /// Compares whether a publication and subscription are compatible
00031 /// by comparing their constituent parts.
00032 OpenDDS_Dcps_Export
00033 bool compatibleQOS(OpenDDS::DCPS::IncompatibleQosStatus* writerStatus,
00034                    OpenDDS::DCPS::IncompatibleQosStatus* readerStatus,
00035                    const OpenDDS::DCPS::TransportLocatorSeq& pubTLS,
00036                    const OpenDDS::DCPS::TransportLocatorSeq& subTLS,
00037                    DDS::DataWriterQos const * const writerQos,
00038                    DDS::DataReaderQos const * const readerQos,
00039                    DDS::PublisherQos const * const pubQos,
00040                    DDS::SubscriberQos const * const subQos);
00041 
00042 OpenDDS_Dcps_Export
00043 bool
00044 compatibleQOS(const DDS::DataWriterQos * writerQos,
00045               const DDS::DataReaderQos * readerQos,
00046               OpenDDS::DCPS::IncompatibleQosStatus* writerStatus,
00047               OpenDDS::DCPS::IncompatibleQosStatus* readerStatus);
00048 
00049 OpenDDS_Dcps_Export
00050 bool
00051 compatibleQOS(const DDS::PublisherQos * pubQos,
00052               const DDS::SubscriberQos * subQos,
00053               OpenDDS::DCPS::IncompatibleQosStatus* writerStatus,
00054               OpenDDS::DCPS::IncompatibleQosStatus* readerStatus);
00055 
00056 // Should check the association of the entity QoS ?
00057 // The changeable QoS that is supported currently and affect the association
00058 // establishment is deadline QoS and partition QoS.
00059 OpenDDS_Dcps_Export
00060 bool should_check_association_upon_change(const DDS::DataReaderQos & qos1,
00061                                           const DDS::DataReaderQos & qos2);
00062 
00063 OpenDDS_Dcps_Export
00064 bool should_check_association_upon_change(const DDS::DataWriterQos & qos1,
00065                                           const DDS::DataWriterQos & qos2);
00066 
00067 OpenDDS_Dcps_Export
00068 bool should_check_association_upon_change(const DDS::SubscriberQos & qos1,
00069                                           const DDS::SubscriberQos & qos2);
00070 
00071 OpenDDS_Dcps_Export
00072 bool should_check_association_upon_change(const DDS::PublisherQos & qos1,
00073                                           const DDS::PublisherQos & qos2);
00074 
00075 OpenDDS_Dcps_Export
00076 bool should_check_association_upon_change(const DDS::TopicQos & qos1,
00077                                           const DDS::TopicQos & qos2);
00078 
00079 OpenDDS_Dcps_Export
00080 bool should_check_association_upon_change(const DDS::DomainParticipantQos & qos1,
00081                                           const DDS::DomainParticipantQos & qos2);
00082 
00083 }}
00084 
00085 #endif /* DCPS_UTILS_H */

Generated on Fri Feb 12 20:05:20 2016 for OpenDDS by  doxygen 1.4.7