OpenDDS  Snapshot(2023/04/28-20:55)
DCPS_Utils.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DCPS_DCPS_UTILS_H
9 #define OPENDDS_DCPS_DCPS_UTILS_H
10 
11 #include "dcps_export.h"
12 
13 #include "Serializer.h"
14 
15 #include <dds/DdsDcpsInfrastructureC.h>
16 #include <dds/DdsDcpsPublicationC.h>
17 #include <dds/DdsDcpsInfoUtilsC.h>
18 
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 
24 
25 namespace OpenDDS {
26 namespace DCPS {
27 
29 
31 
33 bool
34 is_wildcard(const char *str);
35 
36 /// Increments the count of occurrences of the incompatible policy
37 /// for the status
39 void
41  DDS::QosPolicyId_t incompatible_policy);
42 
43 /// Compares whether a publication and subscription are compatible
44 /// by comparing their constituent parts.
50  DDS::DataWriterQos const * const writerQos,
51  DDS::DataReaderQos const * const readerQos,
52  DDS::PublisherQos const * const pubQos,
53  DDS::SubscriberQos const * const subQos);
54 
56 bool
57 compatibleQOS(const DDS::DataWriterQos * writerQos,
58  const DDS::DataReaderQos * readerQos,
59  OpenDDS::DCPS::IncompatibleQosStatus* writerStatus = 0,
60  OpenDDS::DCPS::IncompatibleQosStatus* readerStatus = 0);
61 
63 bool
64 compatibleQOS(const DDS::PublisherQos * pubQos,
65  const DDS::SubscriberQos * subQos,
66  OpenDDS::DCPS::IncompatibleQosStatus* writerStatus = 0,
67  OpenDDS::DCPS::IncompatibleQosStatus* readerStatus = 0);
68 
70 bool
72  const DDS::PartitionQosPolicy& sub);
73 
74 // Should check the association of the entity QoS ?
75 // The changeable QoS that is supported currently and affect the association
76 // establishment is deadline QoS and partition QoS.
79  const DDS::DataReaderQos & qos2);
80 
83  const DDS::DataWriterQos & qos2);
84 
87  const DDS::SubscriberQos & qos2);
88 
91  const DDS::PublisherQos & qos2);
92 
95  const DDS::TopicQos & qos2);
96 
99  const DDS::DomainParticipantQos & qos2);
100 
103 
106 
108 DCPS::String repr_seq_to_string(const DDS::DataRepresentationIdSeq& id_seq, bool is_data_writer = false);
109 
111 void set_writer_effective_data_rep_qos(DDS::DataRepresentationIdSeq& qos, bool encapsulated_only);
112 
115 
116 } // namespace DCPS
117 } // namespace OpenDDS
118 
120 
121 #endif /* OPENDDS_DDS_DCPS_DCPS_UTILS_H */
const LogLevel::Value value
Definition: debug.cpp:61
std::string String
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
DCPS::String repr_to_string(const DDS::DataRepresentationId_t &repr)
Definition: DCPS_Utils.cpp:473
sequence< TransportLocator > TransportLocatorSeq
bool compatibleQOS(OpenDDS::DCPS::IncompatibleQosStatus *writerStatus, OpenDDS::DCPS::IncompatibleQosStatus *readerStatus, const OpenDDS::DCPS::TransportLocatorSeq &pubTLS, const OpenDDS::DCPS::TransportLocatorSeq &subTLS, DDS::DataWriterQos const *const writerQos, DDS::DataReaderQos const *const readerQos, DDS::PublisherQos const *const pubQos, DDS::SubscriberQos const *const subQos)
Definition: DCPS_Utils.cpp:237
sequence< DataRepresentationId_t > DataRepresentationIdSeq
void set_reader_effective_data_rep_qos(DDS::DataRepresentationIdSeq &qos)
Definition: DCPS_Utils.cpp:517
void set_writer_effective_data_rep_qos(DDS::DataRepresentationIdSeq &qos, bool cdr_encapsulated)
Definition: DCPS_Utils.cpp:508
long QosPolicyId_t
Definition: DdsDcpsCore.idl:55
const char * topicstatus_to_string(TopicStatus value)
Definition: DCPS_Utils.cpp:70
void increment_incompatibility_count(OpenDDS::DCPS::IncompatibleQosStatus *status, DDS::QosPolicyId_t incompatible_policy)
Definition: DCPS_Utils.cpp:194
DCPS::String repr_seq_to_string(const DDS::DataRepresentationIdSeq &id_seq, bool is_data_writer)
Definition: DCPS_Utils.cpp:495
bool repr_to_encoding_kind(DDS::DataRepresentationId_t repr, Encoding::Kind &kind)
Definition: DCPS_Utils.cpp:455
const char * retcode_to_string(DDS::ReturnCode_t value)
Definition: DCPS_Utils.cpp:29
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
bool is_wildcard(const char *str)
Definition: DCPS_Utils.cpp:100
bool should_check_association_upon_change(const DDS::DataReaderQos &qos1, const DDS::DataReaderQos &qos2)
Definition: DCPS_Utils.cpp:415
short DataRepresentationId_t
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
bool matching_partitions(const DDS::PartitionQosPolicy &pub, const DDS::PartitionQosPolicy &sub)
Definition: DCPS_Utils.cpp:170