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 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00021 
00022 namespace OpenDDS {
00023 namespace DCPS {
00024 
00025 /// Increments the count of occurances of the incompatible policy
00026 ///  for the status
00027 OpenDDS_Dcps_Export
00028 void
00029 increment_incompatibility_count(OpenDDS::DCPS::IncompatibleQosStatus* status,
00030                                 DDS::QosPolicyId_t incompatible_policy);
00031 
00032 /// Compares whether a publication and subscription are compatible
00033 /// by comparing their constituent parts.
00034 OpenDDS_Dcps_Export
00035 bool compatibleQOS(OpenDDS::DCPS::IncompatibleQosStatus* writerStatus,
00036                    OpenDDS::DCPS::IncompatibleQosStatus* readerStatus,
00037                    const OpenDDS::DCPS::TransportLocatorSeq& pubTLS,
00038                    const OpenDDS::DCPS::TransportLocatorSeq& subTLS,
00039                    DDS::DataWriterQos const * const writerQos,
00040                    DDS::DataReaderQos const * const readerQos,
00041                    DDS::PublisherQos const * const pubQos,
00042                    DDS::SubscriberQos const * const subQos);
00043 
00044 OpenDDS_Dcps_Export
00045 bool
00046 compatibleQOS(const DDS::DataWriterQos * writerQos,
00047               const DDS::DataReaderQos * readerQos,
00048               OpenDDS::DCPS::IncompatibleQosStatus* writerStatus,
00049               OpenDDS::DCPS::IncompatibleQosStatus* readerStatus);
00050 
00051 OpenDDS_Dcps_Export
00052 bool
00053 compatibleQOS(const DDS::PublisherQos * pubQos,
00054               const DDS::SubscriberQos * subQos,
00055               OpenDDS::DCPS::IncompatibleQosStatus* writerStatus,
00056               OpenDDS::DCPS::IncompatibleQosStatus* readerStatus);
00057 
00058 // Should check the association of the entity QoS ?
00059 // The changeable QoS that is supported currently and affect the association
00060 // establishment is deadline QoS and partition QoS.
00061 OpenDDS_Dcps_Export
00062 bool should_check_association_upon_change(const DDS::DataReaderQos & qos1,
00063                                           const DDS::DataReaderQos & qos2);
00064 
00065 OpenDDS_Dcps_Export
00066 bool should_check_association_upon_change(const DDS::DataWriterQos & qos1,
00067                                           const DDS::DataWriterQos & qos2);
00068 
00069 OpenDDS_Dcps_Export
00070 bool should_check_association_upon_change(const DDS::SubscriberQos & qos1,
00071                                           const DDS::SubscriberQos & qos2);
00072 
00073 OpenDDS_Dcps_Export
00074 bool should_check_association_upon_change(const DDS::PublisherQos & qos1,
00075                                           const DDS::PublisherQos & qos2);
00076 
00077 OpenDDS_Dcps_Export
00078 bool should_check_association_upon_change(const DDS::TopicQos & qos1,
00079                                           const DDS::TopicQos & qos2);
00080 
00081 OpenDDS_Dcps_Export
00082 bool should_check_association_upon_change(const DDS::DomainParticipantQos & qos1,
00083                                           const DDS::DomainParticipantQos & qos2);
00084 
00085 }}
00086 
00087 OPENDDS_END_VERSIONED_NAMESPACE_DECL
00088 
00089 #endif /* DCPS_UTILS_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1