#if !defined(monitoring_dds_qos_included) #define monitoring_dds_qos_included #include "monitoring_dds_common.idl" @autoid @default_nested(TRUE) @observable_name("") module monitoring { module dds { @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct UserDataQosPolicy { sequence value; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) @appendable @nested // DDS-XTYPES 1.3 struct TopicDataQosPolicy { sequence value; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct GroupDataQosPolicy { sequence value; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct TransportPriorityQosPolicy { int32 value; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct LifespanQosPolicy { Duration_t duration; }; @appendable enum DurabilityQosPolicyKind { VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct DurabilityQosPolicy { DurabilityQosPolicyKind kind; }; @appendable enum PresentationQosPolicyAccessScopeKind { INSTANCE_PRESENTATION_QOS, TOPIC_PRESENTATION_QOS, GROUP_PRESENTATION_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct PresentationQosPolicy { PresentationQosPolicyAccessScopeKind access_scope; boolean coherent_access; boolean ordered_access; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct DeadlineQosPolicy { Duration_t period; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct LatencyBudgetQosPolicy { Duration_t duration; }; @appendable enum OwnershipQosPolicyKind { SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct OwnershipQosPolicy { OwnershipQosPolicyKind kind; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct OwnershipStrengthQosPolicy { int32 value; }; @appendable enum LivelinessQosPolicyKind { AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct LivelinessQosPolicy { LivelinessQosPolicyKind kind; Duration_t lease_duration; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct TimeBasedFilterQosPolicy { Duration_t minimum_separation; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct PartitionQosPolicy { sequence name; }; @appendable enum ReliabilityQosPolicyKind { // DDS-XTYPES 1.3 @value(1) BEST_EFFORT_RELIABILITY_QOS, @value(2) RELIABLE_RELIABILITY_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct ReliabilityQosPolicy { ReliabilityQosPolicyKind kind; Duration_t max_blocking_time; }; @appendable enum DestinationOrderQosPolicyKind { BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct DestinationOrderQosPolicy { DestinationOrderQosPolicyKind kind; }; @appendable enum HistoryQosPolicyKind { KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct HistoryQosPolicy { HistoryQosPolicyKind kind; int32 depth; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) @observable_view(level=0, select="max_%") @observable_view(level=1, select="%") struct ResourceLimitsQosPolicy { int32 max_samples; int32 max_instances; int32 max_samples_per_instance; }; @appendable @nested // DDS 1.4 @observable_unit(distribution=ON_CHANGE) struct EntityFactoryQosPolicy { boolean autoenable_created_entities; }; @appendable @nested // DDS 1.4 @observable_unit(distribution=ON_CHANGE) struct WriterDataLifecycleQosPolicy { boolean autodispose_unregistered_instances; }; @appendable @nested // DDS 1.4 @observable_unit(distribution=ON_CHANGE) struct ReaderDataLifecycleQosPolicy { Duration_t autopurge_nowriter_samples_delay; Duration_t autopurge_disposed_samples_delay; }; @appendable @nested // DDS-XTYPES 1.3 @observable_unit(distribution=ON_CHANGE) struct DurabilityServiceQosPolicy { Duration_t service_cleanup_delay; HistoryQosPolicyKind history_kind; int32 history_depth; int32 max_samples; int32 max_instances; int32 max_samples_per_instance; }; // DDS-XTYPES 1.3 typedef int16 DataRepresentationId_t; // typedef sequence DataRepresentationIdSeq; const DataRepresentationId_t XCDR_DATA_REPRESENTATION = 0; const DataRepresentationId_t XML_DATA_REPRESENTATION = 1; const DataRepresentationId_t XCDR2_DATA_REPRESENTATION = 2; @appendable @nested @observable_unit(distribution=ON_CHANGE) struct DataRepresentationQosPolicy { // DDS-XTYPES 1.3 sequence value; }; @appendable @bit_bound(16) enum TypeConsistencyKind { DISALLOW_TYPE_COERCION, ALLOW_TYPE_COERCION }; @appendable @nested @observable_unit(distribution=ON_CHANGE) struct TypeConsistencyEnforcementQosPolicy { // DDS-XTYPES 1.3 TypeConsistencyKind kind; boolean ignore_sequence_bounds; boolean ignore_string_bounds; boolean ignore_member_names; boolean prevent_type_widening; boolean force_type_validation; }; @appendable @nested struct Tag { // DDS-SECURITY 1.1 string name; string value; }; // typedef sequence< Tag > TagSeq; @appendable @nested @observable_unit(distribution=ON_CHANGE) struct DataTagQosPolicy { // DDS-SECURITY 1.1 sequence tags; }; // typedef DataTagQosPolicy DataTags; @appendable @nested @observable_unit(distribution=ON_CHANGE) struct PropertyQosPolicy { // DDS-SECURITY 1.1 sequence value; sequence binary_value; }; @mutable @nested // DDS 1.4 struct DomainParticipantFactoryQos { EntityFactoryQosPolicy entity_factory; }; @mutable @nested // DDS 1.4 struct DomainParticipantQos { UserDataQosPolicy user_data; EntityFactoryQosPolicy entity_factory; PropertyQosPolicy property; // DDS-SECURITY 1.1 }; @mutable @nested // DDS-XTYPES 1.3 struct TopicQos { TopicDataQosPolicy topic_data; DurabilityQosPolicy durability; DurabilityServiceQosPolicy durability_service; DeadlineQosPolicy deadline; LatencyBudgetQosPolicy latency_budget; LivelinessQosPolicy liveliness; ReliabilityQosPolicy reliability; DestinationOrderQosPolicy destination_order; HistoryQosPolicy history; ResourceLimitsQosPolicy resource_limits; TransportPriorityQosPolicy transport_priority; LifespanQosPolicy lifespan; OwnershipQosPolicy ownership; DataRepresentationQosPolicy representation; // DDS-XTYPES 1.3 }; @mutable @nested // DDS-XTYPES 1.3 struct DataWriterQos { DurabilityQosPolicy durability; DurabilityServiceQosPolicy durability_service; DeadlineQosPolicy deadline; LatencyBudgetQosPolicy latency_budget; LivelinessQosPolicy liveliness; ReliabilityQosPolicy reliability; DestinationOrderQosPolicy destination_order; HistoryQosPolicy history; ResourceLimitsQosPolicy resource_limits; TransportPriorityQosPolicy transport_priority; LifespanQosPolicy lifespan; UserDataQosPolicy user_data; OwnershipQosPolicy ownership; OwnershipStrengthQosPolicy ownership_strength; WriterDataLifecycleQosPolicy writer_data_lifecycle; DataRepresentationQosPolicy representation; // DDS-XTYPES 1.3 PropertyQosPolicy property; // DDS-SECURITY 1.1 DataTagQosPolicy data_tags; // DDS-SECURITY 1.1 }; @mutable @nested // DDS 1.4 struct PublisherQos { PresentationQosPolicy presentation; PartitionQosPolicy partition; GroupDataQosPolicy group_data; EntityFactoryQosPolicy entity_factory; }; @mutable @nested // DDS-XTYPES 1.3 struct DataReaderQos { DurabilityQosPolicy durability; DeadlineQosPolicy deadline; LatencyBudgetQosPolicy latency_budget; LivelinessQosPolicy liveliness; ReliabilityQosPolicy reliability; DestinationOrderQosPolicy destination_order; HistoryQosPolicy history; ResourceLimitsQosPolicy resource_limits; UserDataQosPolicy user_data; OwnershipQosPolicy ownership; TimeBasedFilterQosPolicy time_based_filter; ReaderDataLifecycleQosPolicy reader_data_lifecycle; DataRepresentationQosPolicy representation; // DDS-XTYPES 1.3 TypeConsistencyEnforcementQosPolicy type_consistency; // DDS-XTYPES 1.3 PropertyQosPolicy property; // DDS-SECURITY 1.1 DataTagQosPolicy data_tags; // DDS-SECURITY 1.1 }; @mutable @nested // DDS 1.4 struct SubscriberQos { PresentationQosPolicy presentation; PartitionQosPolicy partition; GroupDataQosPolicy group_data; EntityFactoryQosPolicy entity_factory; }; }; }; // End of modules monitoring::dds #endif /* monitoring_dds_qos_included */