00001
00002
00003
00004
00005
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
00019
00020 namespace OpenDDS {
00021 namespace DCPS {
00022
00023
00024
00025 OpenDDS_Dcps_Export
00026 void
00027 increment_incompatibility_count(OpenDDS::DCPS::IncompatibleQosStatus* status,
00028 DDS::QosPolicyId_t incompatible_policy);
00029
00030
00031
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
00057
00058
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