8 #ifndef OPENDDS_DCPS_QOS_HELPER_H 9 #define OPENDDS_DCPS_QOS_HELPER_H 11 #include "dds/DdsDcpsInfrastructureC.h" 12 #include "dds/DdsDcpsPublicationC.h" 13 #include "dds/DdsDcpsSubscriptionC.h" 14 #include "dds/DdsDcpsTopicC.h" 17 #if !defined (ACE_LACKS_PRAGMA_ONCE) 65 static bool consistent(
69 static bool consistent(
99 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE 111 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE 171 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE 188 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE 244 static bool changeable(
255 #ifndef OPENDDS_SAFETY_PROFILE 607 qos_.history_depth = 1;
633 qos_.history_depth = depth;
1006 qos_.autodispose_unregistered_instances =
true;
1060 qos_.ignore_sequence_bounds =
true;
1061 qos_.ignore_string_bounds =
true;
1062 qos_.ignore_member_names =
false;
1063 qos_.prevent_type_widening =
false;
1064 qos_.force_type_validation =
false;
1151 qos_.topic_data.value =
value;
1157 qos_.durability.kind = kind;
1187 qos_.durability_service.service_cleanup_delay = delay;
1200 qos_.durability_service.history_depth = depth;
1218 qos_.durability_service.max_samples =
value;
1224 qos_.durability_service.max_instances =
value;
1230 qos_.durability_service.max_samples_per_instance =
value;
1236 qos_.deadline.period = duration;
1242 qos_.latency_budget.duration = duration;
1248 qos_.liveliness.kind = kind;
1272 qos_.liveliness.lease_duration = duration;
1278 qos_.reliability.kind = kind;
1296 qos_.reliability.max_blocking_time = duration;
1302 qos_.destination_order.kind = kind;
1320 qos_.history.kind = kind;
1327 qos_.history.depth = depth;
1339 qos_.history.depth = depth;
1345 qos_.resource_limits.max_samples =
value;
1351 qos_.resource_limits.max_instances =
value;
1357 qos_.resource_limits.max_samples_per_instance =
value;
1363 qos_.transport_priority.value =
value;
1369 qos_.lifespan.duration = duration;
1375 qos_.ownership.kind = kind;
1420 DDS::Publisher_var publisher);
1429 return qos_ == other.
qos_;
1434 return !(*
this == other);
1439 qos_.durability.kind = kind;
1469 qos_.durability_service.service_cleanup_delay = delay;
1482 qos_.durability_service.history_depth = depth;
1500 qos_.durability_service.max_samples =
value;
1506 qos_.durability_service.max_instances =
value;
1512 qos_.durability_service.max_samples_per_instance =
value;
1518 qos_.deadline.period = duration;
1524 qos_.latency_budget.duration = duration;
1530 qos_.liveliness.kind = kind;
1554 qos_.liveliness.lease_duration = duration;
1560 qos_.reliability.kind = kind;
1578 qos_.reliability.max_blocking_time = duration;
1584 qos_.destination_order.kind = kind;
1602 qos_.history.kind = kind;
1609 qos_.history.depth = depth;
1621 qos_.history.depth = depth;
1627 qos_.resource_limits.max_samples =
value;
1633 qos_.resource_limits.max_instances =
value;
1639 qos_.resource_limits.max_samples_per_instance =
value;
1645 qos_.transport_priority.value =
value;
1651 qos_.lifespan.duration = duration;
1657 qos_.user_data.value =
value;
1663 qos_.ownership.kind = kind;
1681 qos_.ownership_strength.value =
value;
1687 qos_.writer_data_lifecycle.autodispose_unregistered_instances =
value;
1718 DDS::Subscriber_var subscriber);
1727 return qos_ == other.
qos_;
1732 return !(*
this == other);
1737 qos_.durability.kind = kind;
1767 qos_.deadline.period = duration;
1773 qos_.latency_budget.duration = duration;
1779 qos_.liveliness.kind = kind;
1803 qos_.liveliness.lease_duration = duration;
1809 qos_.reliability.kind = kind;
1827 qos_.reliability.max_blocking_time = duration;
1833 qos_.destination_order.kind = kind;
1851 qos_.history.kind = kind;
1858 qos_.history.depth = depth;
1870 qos_.history.depth = depth;
1876 qos_.resource_limits.max_samples =
value;
1882 qos_.resource_limits.max_instances =
value;
1888 qos_.resource_limits.max_samples_per_instance =
value;
1894 qos_.user_data.value =
value;
1900 qos_.ownership.kind = kind;
1918 qos_.time_based_filter.minimum_separation = duration;
1924 qos_.reader_data_lifecycle.autopurge_nowriter_samples_delay = duration;
1930 qos_.reader_data_lifecycle.autopurge_disposed_samples_delay = duration;
1936 qos_.type_consistency.kind = kind;
1954 qos_.type_consistency.ignore_sequence_bounds =
value;
1960 qos_.type_consistency.ignore_string_bounds =
value;
1966 qos_.type_consistency.ignore_member_names =
value;
1972 qos_.type_consistency.prevent_type_widening =
value;
1978 qos_.type_consistency.force_type_validation =
value;
1991 #if defined(__ACE_INLINE__) DDS::DurabilityServiceQosPolicy qos_
TypeConsistencyEnforcementQosPolicyBuilder & kind(DDS::TypeConsistencyEnforcementQosPolicyKind_t kind)
TopicQosBuilder & destination_order_by_reception_timestamp()
TimeBasedFilterQosPolicyBuilder()
DestinationOrderQosPolicyKind
DDS::HistoryQosPolicy & qos()
DataWriterQosBuilder & destination_order_by_reception_timestamp()
LivelinessQosPolicyBuilder & manual_by_topic()
DataReaderQosBuilder & type_consistency_disallow_type_coercion()
ReaderDataLifecycleQosPolicyBuilder & autopurge_nowriter_samples_delay(const DDS::Duration_t &duration)
DataReaderQosBuilder & resource_limits_max_samples(int value)
const DDS::DurabilityQosPolicy & qos() const
const LogLevel::Value value
DataWriterQosBuilder & reliability_best_effort()
OwnershipStrengthQosPolicyBuilder & value(int value)
LatencyBudgetQosPolicyBuilder()
DataReaderQosBuilder & liveliness_kind(DDS::LivelinessQosPolicyKind kind)
TopicQosBuilder & history_keep_all()
TopicQosBuilder & topic_data_value(const DDS::OctetSeq &value)
TopicQosBuilder & history_keep_last(int depth)
DataReaderQosBuilder & type_consistency_kind(DDS::TypeConsistencyEnforcementQosPolicyKind_t kind)
WriterDataLifecycleQosPolicyBuilder & autodispose_unregistered_instances(bool value)
TopicQosBuilder & resource_limits_max_samples(int value)
TopicQosBuilder & durability_service_service_cleanup_delay(const DDS::Duration_t &delay)
DDS::DeadlineQosPolicy & qos()
const long DURATION_INFINITE_SEC
ReliabilityQosPolicyBuilder()
DataReaderQosBuilder & type_consistency_ignore_member_names(bool value)
LivelinessQosPolicyBuilder & manual_by_participant()
#define OpenDDS_Dcps_Export
DataWriterQosBuilder & resource_limits_max_instances(int value)
DurabilityServiceQosPolicyBuilder & keep_last(int depth)
DataReaderQosBuilder & latency_budget_duration(const DDS::Duration_t &duration)
DataReaderQosBuilder & liveliness_lease_duration(const DDS::Duration_t &duration)
const DDS::TypeConsistencyEnforcementQosPolicy & qos() const
DataWriterQosBuilder & liveliness_manual_by_topic()
LifespanQosPolicyBuilder()
LivelinessQosPolicyBuilder & automatic()
DataReaderQosBuilder & type_consistency_prevent_type_widening(bool value)
OwnershipQosPolicyBuilder & kind(DDS::OwnershipQosPolicyKind kind)
TopicQosBuilder & ownership_exclusive()
DataWriterQosBuilder & history_depth(int depth)
DataWriterQosBuilder & ownership_kind(DDS::OwnershipQosPolicyKind kind)
DDS::DeadlineQosPolicy qos_
const DDS::ReliabilityQosPolicy & qos() const
DataWriterQosBuilder & durability_service_keep_last(int depth)
TopicQosBuilder & durability_service_max_instances(int value)
DestinationOrderQosPolicyBuilder & by_reception_timestamp()
DataWriterQosBuilder & ownership_strength_value(int value)
This class implements methods that verify whether a qos is valid, consistent and changeable.
DurabilityQosPolicyBuilder()
OwnershipQosPolicyBuilder & exclusive()
TopicQosBuilder & durability_service_history_kind(DDS::HistoryQosPolicyKind kind)
DataWriterQosBuilder & transport_priority_value(int value)
const DDS::DeadlineQosPolicy & qos() const
LifespanQosPolicyBuilder & duration(const DDS::Duration_t &duration)
DurabilityServiceQosPolicyBuilder & keep_all()
LatencyBudgetQosPolicyBuilder & duration(const DDS::Duration_t &duration)
TopicQosBuilder & liveliness_manual_by_topic()
const DDS::TransportPriorityQosPolicy & qos() const
DestinationOrderQosPolicyBuilder & by_source_timestamp()
LivelinessQosPolicyBuilder()
DataReaderQosBuilder & durability_transient()
TypeConsistencyEnforcementQosPolicyBuilder & ignore_member_names(bool value)
DataReaderQosBuilder & history_keep_last(int depth)
bool operator==(const DisjointSequence::OrderedRanges< T > &a, const DisjointSequence::OrderedRanges< T > &b)
TopicQosBuilder & reliability_reliable()
DataReaderQosBuilder & ownership_kind(DDS::OwnershipQosPolicyKind kind)
DataWriterQosBuilder & writer_data_lifecycle_autodispose_unregistered_instances(bool value)
const DDS::TimeBasedFilterQosPolicy & qos() const
DataReaderQosBuilder & destination_order_by_reception_timestamp()
LivelinessQosPolicyBuilder & kind(DDS::LivelinessQosPolicyKind kind)
const DDS::OwnershipStrengthQosPolicy & qos() const
DataReaderQosBuilder & reader_data_lifecycle_autopurge_nowriter_samples_delay(const DDS::Duration_t &duration)
TopicQosBuilder & transport_priority_value(int value)
DataWriterQosBuilder & durability_service_history_kind(DDS::HistoryQosPolicyKind kind)
DataReaderQosBuilder & type_consistency_allow_type_coercion()
DataWriterQosBuilder & durability_transient()
DDS::WriterDataLifecycleQosPolicy qos_
TopicQosBuilder & destination_order_kind(DDS::DestinationOrderQosPolicyKind kind)
DataWriterQosBuilder & durability_service_history_depth(int depth)
DDS::TypeConsistencyEnforcementQosPolicy qos_
DDS::LifespanQosPolicy qos_
DurabilityServiceQosPolicyBuilder & max_samples(int value)
DurabilityQosPolicyBuilder & kind(DDS::DurabilityQosPolicyKind kind)
DataWriterQosBuilder & durability_volatile()
const DDS::OwnershipQosPolicy & qos() const
ReaderDataLifecycleQosPolicyBuilder & autopurge_disposed_samples_delay(const DDS::Duration_t &duration)
ResourceLimitsQosPolicyBuilder & max_samples(int value)
DataWriterQosBuilder & destination_order_by_source_timestamp()
DataReaderQosBuilder & type_consistency_ignore_string_bounds(bool value)
const DDS::DataReaderQos & qos() const
bool operator!=(const DataWriterQosBuilder &other) const
DataWriterQosBuilder & destination_order_kind(DDS::DestinationOrderQosPolicyKind kind)
DDS::HistoryQosPolicy qos_
const TypeConsistencyEnforcementQosPolicyKind_t ALLOW_TYPE_COERCION
TopicQosBuilder & durability_persistent()
const DDS::DurabilityServiceQosPolicy & qos() const
DurabilityServiceQosPolicyBuilder & history_depth(int depth)
const DDS::LivelinessQosPolicy & qos() const
DataReaderQosBuilder & ownership_shared()
DataReaderQosBuilder & resource_limits_max_instances(int value)
DataWriterQosBuilder & deadline_period(const DDS::Duration_t &duration)
TopicQosBuilder & ownership_shared()
DeadlineQosPolicyBuilder()
DDS::LifespanQosPolicy & qos()
DataReaderQosBuilder & ownership_exclusive()
TypeConsistencyEnforcementQosPolicyBuilder & ignore_string_bounds(bool value)
TopicQosBuilder & durability_volatile()
DataWriterQosBuilder & reliability_reliable()
DDS::ReaderDataLifecycleQosPolicy & qos()
DDS::TransportPriorityQosPolicy & qos()
DataWriterQosBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
const DDS::WriterDataLifecycleQosPolicy & qos() const
const DDS::LifespanQosPolicy & qos() const
DurabilityServiceQosPolicyBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
DataWriterQosBuilder & durability_service_max_samples(int value)
DataReaderQosBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
DataWriterQosBuilder & durability_service_keep_all()
DDS::LivelinessQosPolicy & qos()
DataWriterQosBuilder & durability_transient_local()
ResourceLimitsQosPolicyBuilder & max_samples_per_instance(int value)
DDS::ReliabilityQosPolicy qos_
TopicQosBuilder & durability_service_keep_last(int depth)
OwnershipStrengthQosPolicyBuilder()
TopicQosBuilder & lifespan_duration(const DDS::Duration_t &duration)
DDS::DurabilityServiceQosPolicy & qos()
ReliabilityQosPolicyBuilder & best_effort()
DDS::OwnershipQosPolicy qos_
HistoryQosPolicyBuilder()
DDS::DataReaderQos & qos()
ACE_INLINE OpenDDS_Dcps_Export DDS::Duration_t make_duration_t(int sec, unsigned long nanosec)
TopicQosBuilder & reliability_kind(DDS::ReliabilityQosPolicyKind kind)
ReliabilityQosPolicyBuilder & kind(DDS::ReliabilityQosPolicyKind kind)
DataReaderQosBuilder & destination_order_kind(DDS::DestinationOrderQosPolicyKind kind)
const unsigned long DURATION_ZERO_NSEC
TopicQosBuilder & durability_kind(DDS::DurabilityQosPolicyKind kind)
TopicQosBuilder & durability_service_keep_all()
const DDS::HistoryQosPolicy & qos() const
DataWriterQosBuilder & liveliness_automatic()
TypeConsistencyEnforcementQosPolicyBuilder & prevent_type_widening(bool value)
DataWriterQosBuilder & durability_persistent()
TopicQosBuilder & resource_limits_max_instances(int value)
DurabilityQosPolicyBuilder & transient_local()
TypeConsistencyEnforcementQosPolicyBuilder & disallow_type_coercion()
DataWriterQosBuilder & ownership_shared()
DurabilityServiceQosPolicyBuilder()
const DDS::DestinationOrderQosPolicy & qos() const
DDS::TimeBasedFilterQosPolicy qos_
DDS::TypeConsistencyEnforcementQosPolicy & qos()
DDS::ResourceLimitsQosPolicy & qos()
DDS::LivelinessQosPolicy qos_
DDS::DestinationOrderQosPolicy qos_
bool operator==(const DataWriterQosBuilder &other) const
DurabilityQosPolicyBuilder & _volatile()
TopicQosBuilder & liveliness_lease_duration(const DDS::Duration_t &duration)
sequence< octet > OctetSeq
DataReaderQosBuilder & user_data_value(const DDS::OctetSeq &value)
DataWriterQosBuilder & liveliness_lease_duration(const DDS::Duration_t &duration)
DataWriterQosBuilder & reliability_kind(DDS::ReliabilityQosPolicyKind kind)
TopicQosBuilder & durability_service_max_samples(int value)
ReliabilityQosPolicyBuilder & max_blocking_time(const DDS::Duration_t &duration)
bool operator==(const DataReaderQosBuilder &other) const
DataWriterQosBuilder & user_data_value(const DDS::OctetSeq &value)
DataReaderQosBuilder & type_consistency_force_type_validation(bool value)
TopicQosBuilder & liveliness_manual_by_participant()
DDS::ReaderDataLifecycleQosPolicy qos_
TypeConsistencyEnforcementQosPolicyBuilder()
ReliabilityQosPolicyBuilder & reliable()
const DDS::DataWriterQos & qos() const
DDS::DurabilityQosPolicy & qos()
DeadlineQosPolicyBuilder & period(const DDS::Duration_t &period)
DataReaderQosBuilder & reader_data_lifecycle_autopurge_disposed_samples_delay(const DDS::Duration_t &duration)
DataReaderQosBuilder & resource_limits_max_samples_per_instance(int value)
TypeConsistencyEnforcementQosPolicyBuilder & ignore_sequence_bounds(bool value)
const unsigned long DURATION_INFINITE_NSEC
TypeConsistencyEnforcementQosPolicyBuilder & allow_type_coercion()
bool operator!=(const GUID_t &lhs, const GUID_t &rhs)
DataReaderQosBuilder & durability_volatile()
TransportPriorityQosPolicyBuilder & value(int value)
DDS::ReliabilityQosPolicy & qos()
DurabilityQosPolicyBuilder & persistent()
TopicQosBuilder & ownership_kind(DDS::OwnershipQosPolicyKind kind)
DataReaderQosBuilder & reliability_max_blocking_time(const DDS::Duration_t &duration)
DDS::ResourceLimitsQosPolicy qos_
const DDS::TopicQos & qos() const
DataWriterQosBuilder & resource_limits_max_samples_per_instance(int value)
TopicQosBuilder & durability_transient_local()
WriterDataLifecycleQosPolicyBuilder()
DataWriterQosBuilder & durability_service_service_cleanup_delay(const DDS::Duration_t &delay)
DDS::DataWriterQos & qos()
DataWriterQosBuilder & latency_budget_duration(const DDS::Duration_t &duration)
DataReaderQosBuilder & history_keep_all()
DestinationOrderQosPolicyBuilder()
TopicQosBuilder & history_depth(int depth)
TopicQosBuilder & liveliness_kind(DDS::LivelinessQosPolicyKind kind)
DataReaderQosBuilder & liveliness_manual_by_topic()
DataWriterQosBuilder & history_keep_last(int depth)
OwnershipQosPolicyBuilder & shared()
HistoryQosPolicyBuilder & keep_last(int depth)
DestinationOrderQosPolicyBuilder & kind(DDS::DestinationOrderQosPolicyKind kind)
DDS::WriterDataLifecycleQosPolicy & qos()
DataReaderQosBuilder & deadline_period(const DDS::Duration_t &duration)
const long DURATION_ZERO_SEC
DDS::TransportPriorityQosPolicy qos_
ReaderDataLifecycleQosPolicyBuilder()
bool operator!=(const DataReaderQosBuilder &other) const
DDS::DestinationOrderQosPolicy & qos()
const DDS::LatencyBudgetQosPolicy & qos() const
TypeConsistencyEnforcementQosPolicyBuilder & force_type_validation(bool value)
DDS::OwnershipStrengthQosPolicy & qos()
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
DataReaderQosBuilder & reliability_best_effort()
DataReaderQosBuilder & destination_order_by_source_timestamp()
DataReaderQosBuilder & durability_transient_local()
HistoryQosPolicyBuilder & kind(DDS::HistoryQosPolicyKind kind)
TopicQosBuilder & durability_transient()
DataWriterQosBuilder & history_keep_all()
DDS::LatencyBudgetQosPolicy qos_
DDS::DurabilityQosPolicy qos_
DataReaderQosBuilder & reliability_kind(DDS::ReliabilityQosPolicyKind kind)
DataWriterQosBuilder & durability_kind(DDS::DurabilityQosPolicyKind kind)
DataReaderQosBuilder & type_consistency_ignore_sequence_bounds(bool value)
DurabilityServiceQosPolicyBuilder & service_cleanup_delay(const DDS::Duration_t &delay)
DataWriterQosBuilder & liveliness_kind(DDS::LivelinessQosPolicyKind kind)
DDS::LatencyBudgetQosPolicy & qos()
DDS::TimeBasedFilterQosPolicy & qos()
const DDS::ReaderDataLifecycleQosPolicy & qos() const
const long LENGTH_UNLIMITED
DDS::OwnershipStrengthQosPolicy qos_
TopicQosBuilder & deadline_period(const DDS::Duration_t &duration)
TimeBasedFilterQosPolicyBuilder & minimum_separation(const DDS::Duration_t &duration)
ResourceLimitsQosPolicyBuilder & max_instances(int value)
DataReaderQosBuilder & durability_kind(DDS::DurabilityQosPolicyKind kind)
TopicQosBuilder & destination_order_by_source_timestamp()
TopicQosBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
TopicQosBuilder & latency_budget_duration(const DDS::Duration_t &duration)
DataWriterQosBuilder & durability_service_max_samples_per_instance(int value)
TopicQosBuilder & durability_service_max_samples_per_instance(int value)
DataWriterQosBuilder & resource_limits_max_samples(int value)
DurabilityServiceQosPolicyBuilder & max_samples_per_instance(int value)
DataWriterQosBuilder & reliability_max_blocking_time(const DDS::Duration_t &duration)
OwnershipQosPolicyBuilder()
DataReaderQosBuilder & reliability_reliable()
DataReaderQosBuilder & liveliness_automatic()
DataWriterQosBuilder & lifespan_duration(const DDS::Duration_t &duration)
short TypeConsistencyEnforcementQosPolicyKind_t
LivelinessQosPolicyBuilder & lease_duration(const DDS::Duration_t &duration)
DataReaderQosBuilder & durability_persistent()
DataReaderQosBuilder & history_depth(int depth)
The Internal API and Implementation of OpenDDS.
const DDS::ResourceLimitsQosPolicy & qos() const
TransportPriorityQosPolicyBuilder()
DataWriterQosBuilder & ownership_exclusive()
DataReaderQosBuilder & liveliness_manual_by_participant()
DataWriterQosBuilder & durability_service_max_instances(int value)
const TypeConsistencyEnforcementQosPolicyKind_t DISALLOW_TYPE_COERCION
TopicQosBuilder & resource_limits_max_samples_per_instance(int value)
HistoryQosPolicyBuilder & keep_all()
TopicQosBuilder & durability_service_history_depth(int depth)
DataWriterQosBuilder & liveliness_manual_by_participant()
TopicQosBuilder & reliability_max_blocking_time(const DDS::Duration_t &duration)
TopicQosBuilder & reliability_best_effort()
TopicQosBuilder & liveliness_automatic()
ResourceLimitsQosPolicyBuilder()
DurabilityServiceQosPolicyBuilder & max_instances(int value)
HistoryQosPolicyBuilder & depth(int depth)
DataReaderQosBuilder & time_based_filter_minimum_separation(const DDS::Duration_t &duration)
DDS::OwnershipQosPolicy & qos()