Program Listing for File dds-xtypes_discovery.idl
↰ Return to documentation for file (/tmp/ws/src/fastrtps/include/fastrtps/types/dds-xtypes_discovery.idl
)
/* dds-xtypes_discovery.idl */
// The types in this file shall be serialized with XCDR encoding version 1
module DDS {
@extensibility(APPENDABLE) @nested
struct BuiltinTopicKey_t {
octet value[16];
};
@extensibility(FINAL) @nested
struct Duration_t {
long sec; unsigned long nanosec;
};
@extensibility(APPENDABLE) @nested
struct DeadlineQosPolicy {
Duration_t period;
};
enum DestinationOrderQosPolicyKind {
BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS,
BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS
};
@extensibility(APPENDABLE) @nested
struct DestinationOrderQosPolicy {
DestinationOrderQosPolicyKind kind;
};
enum DurabilityQosPolicyKind {
VOLATILE_DURABILITY_QOS,
TRANSIENT_LOCAL_DURABILITY_QOS,
TRANSIENT_DURABILITY_QOS,
PERSISTENT_DURABILITY_QOS
};
@extensibility(APPENDABLE) @nested
struct DurabilityQosPolicy {
DurabilityQosPolicyKind kind;
};
enum HistoryQosPolicyKind {
KEEP_LAST_HISTORY_QOS,
KEEP_ALL_HISTORY_QOS
};
@extensibility(APPENDABLE) @nested
struct HistoryQosPolicy {
HistoryQosPolicyKind kind;
long depth;
};
@extensibility(APPENDABLE) @nested
struct DurabilityServiceQosPolicy {
Duration_t service_cleanup_delay;
HistoryQosPolicyKind history_kind;
long history_depth;
long max_samples;
long max_instances;
long max_samples_per_instance;
};
@extensibility(APPENDABLE) @nested
struct GroupDataQosPolicy {
ByteSeq value;
};
@extensibility(APPENDABLE) @nested
struct LatencyBudgetQosPolicy {
Duration_t duration;
};
@extensibility(APPENDABLE) @nested
struct LifespanQosPolicy {
Duration_t duration;
};
enum LivelinessQosPolicyKind {
AUTOMATIC_LIVELINESS_QOS,
MANUAL_BY_PARTICIPANT_LIVELINESS_QOS,
MANUAL_BY_TOPIC_LIVELINESS_QOS
};
@extensibility(APPENDABLE) @nested
struct LivelinessQosPolicy {
LivelinessQosPolicyKind kind;
Duration_t lease_duration;
};
enum OwnershipQosPolicyKind {
SHARED_OWNERSHIP_QOS,
EXCLUSIVE_OWNERSHIP_QOS
};
@extensibility(APPENDABLE) @nested
struct OwnershipQosPolicy {
OwnershipQosPolicyKind kind;
};
@extensibility(APPENDABLE) @nested
struct OwnershipStrengthQosPolicy {
long value;
};
@extensibility(APPENDABLE) @nested
struct PartitionQosPolicy {
StringSeq name;
};
enum PresentationQosPolicyAccessScopeKind {
INSTANCE_PRESENTATION_QOS,
TOPIC_PRESENTATION_QOS,
GROUP_PRESENTATION_QOS
};
@extensibility(APPENDABLE) @nested
struct PresentationQosPolicy {
PresentationQosPolicyAccessScopeKind access_scope;
boolean coherent_access;
boolean ordered_access;
};
enum ReliabilityQosPolicyKind {
BEST_EFFORT_RELIABILITY_QOS,
RELIABLE_RELIABILITY_QOS
};
@extensibility(APPENDABLE) @nested
struct ReliabilityQosPolicy {
ReliabilityQosPolicyKind kind;
Duration_t max_blocking_time;
};
@extensibility(APPENDABLE) @nested
struct ResourceLimitsQosPolicy {
long max_samples;
long max_instances;
long max_samples_per_instance;
};
@extensibility(APPENDABLE) @nested
struct TimeBasedFilterQosPolicy {
Duration_t minimum_separation;
};
@extensibility(APPENDABLE) @nested
struct TopicDataQosPolicy {
ByteSeq value;
};
@extensibility(APPENDABLE) @nested
struct TransportPriorityQosPolicy {
long value;
};
@extensibility(APPENDABLE) @nested
struct UserDataQosPolicy {
ByteSeq value;
};
@extensibility(MUTABLE)
struct ParticipantBuiltinTopicData {
@id(0x0050) @key BuiltinTopicKey_t key;
@id(0x002C) UserDataQosPolicy user_data;
};
typedef short DataRepresentationId_t;
const DataRepresentationId_t XCDR_DATA_REPRESENTATION = 0;
const DataRepresentationId_t XML_DATA_REPRESENTATION = 1;
const DataRepresentationId_t XCDR2_DATA_REPRESENTATION = 2;
typedef sequence<DataRepresentationId_t> DataRepresentationIdSeq;
const QosPolicyId_t DATA_REPRESENTATION_QOS_POLICY_ID = 23;
const string DATA_REPRESENTATION_QOS_POLICY_NAME = "DataRepresentation";
@extensibility(APPENDABLE) @nested
struct DataRepresentationQosPolicy {
DataRepresentationIdSeq value;
};
@bit_bound(16) enum TypeConsistencyKind {
DISALLOW_TYPE_COERCION,
ALLOW_TYPE_COERCION
};
const QosPolicyId_t TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID = 24;
const string TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME = "TypeConsistencyEnforcement";
@extensibility(APPENDABLE) @nested
struct TypeConsistencyEnforcementQosPolicy {
TypeConsistencyKind kind;
boolean ignore_sequence_bounds;
boolean ignore_string_bounds;
boolean ignore_member_names;
boolean prevent_type_widening;
boolean force_type_validation;
};
@extensibility(MUTABLE)
struct TopicBuiltinTopicData {
@id(0x005A) @key BuiltinTopicKey_t key;
@id(0x0005) ObjectName name;
@id(0x0007) ObjectName type_name;
@id(0x0069) @optional TypeIdV1 type_id; // XTYPES 1.1
@id(0x0072) @optional TypeObjectV1 type; // XTYPES 1.1
@id(0x0075) @optional XTypes::TypeInformation type_information;
// XTYPES 1.2
@id(0x001D) DurabilityQosPolicy durability;
@id(0x001E) DurabilityServiceQosPolicy durability_service;
@id(0x0023) DeadlineQosPolicy deadline;
@id(0x0027) LatencyBudgetQosPolicy latency_budget;
@id(0x001B) LivelinessQosPolicy liveliness;
@id(0x001A) ReliabilityQosPolicy reliability;
@id(0x0049) TransportPriorityQosPolicy transport_priority;
@id(0x002B) LifespanQosPolicy lifespan;
@id(0x0025) DestinationOrderQosPolicy destination_order;
@id(0x0040) HistoryQosPolicy history;
@id(0x0041) ResourceLimitsQosPolicy resource_limits;
@id(0x001F) OwnershipQosPolicy ownership;
@id(0x002E) TopicDataQosPolicy topic_data;
@id(0x0073) DataRepresentationQosPolicy representation;
};
@extensibility(MUTABLE) struct TopicQos {
// ...
DataRepresentationQosPolicy representation;
};
@extensibility(MUTABLE)
struct PublicationBuiltinTopicData {
@id(0x005A) @key BuiltinTopicKey_t key;
@id(0x0050) BuiltinTopicKey_t participant_key;
@id(0x0005) ObjectName topic_name;
@id(0x0007) ObjectName type_name;
@id(0x0069) @optional TypeIdV1 type_id; // XTYPES 1.1
@id(0x0072) @optional TypeObjectV1 type; // XTYPES 1.1
@id(0x0075) @optional XTypes::TypeInformation type_information;
// XTYPES 1.2
@id(0x001D) DurabilityQosPolicy durability;
@id(0x001E) DurabilityServiceQosPolicy durability_service;
@id(0x0023) DeadlineQosPolicy deadline;
@id(0x0027) LatencyBudgetQosPolicy latency_budget;
@id(0x001B) LivelinessQosPolicy liveliness;
@id(0x001A) ReliabilityQosPolicy reliability;
@id(0x002B) LifespanQosPolicy lifespan;
@id(0x002C) UserDataQosPolicy user_data;
@id(0x001F) OwnershipQosPolicy ownership;
@id(0x0006) OwnershipStrengthQosPolicy ownership_strength;
@id(0x0025) DestinationOrderQosPolicy destination_order;
@id(0x0021) PresentationQosPolicy presentation;
@id(0x0029) PartitionQosPolicy partition;
@id(0x002E) TopicDataQosPolicy topic_data;
@id(0x002D) GroupDataQosPolicy group_data;
@id(0x0073) DataRepresentationQosPolicy representation;
};
@extensibility(MUTABLE)
struct DataWriterQos {
// ... DataRepresentationQosPolicy representation;
};
@extensibility(MUTABLE)
struct SubscriptionBuiltinTopicData {
@id(0x005A) @key BuiltinTopicKey_t key;
@id(0x0050) BuiltinTopicKey_t participant_key;
@id(0x0005) ObjectName topic_name;
@id(0x0007) ObjectName type_name;
@id(0x0069) @optional TypeIdV1 type_id; // XTYPES 1.1
@id(0x0072) @optional TypeObjectV1 type; // XTYPES 1.1
@id(0x0075) @optional XTypes::TypeInformation type_information;
// XTYPES 1.2
@id(0x001D) DurabilityQosPolicy durability;
@id(0x0023) DeadlineQosPolicy deadline;
@id(0x0027) LatencyBudgetQosPolicy latency_budget;
@id(0x001B) LivelinessQosPolicy liveliness;
@id(0x001A) ReliabilityQosPolicy reliability;
@id(0x001F) OwnershipQosPolicy ownership;
@id(0x0025) DestinationOrderQosPolicy destination_order;
@id(0x002C) UserDataQosPolicy user_data;
@id(0x0004) TimeBasedFilterQosPolicy time_based_filter;
@id(0x0021) PresentationQosPolicy presentation;
@id(0x0029) PartitionQosPolicy partition;
@id(0x002E) TopicDataQosPolicy topic_data;
@id(0x002D) GroupDataQosPolicy group_data;
@id(0x0073) DataRepresentationQosPolicy representation;
@id(0x0074) TypeConsistencyEnforcementQosPolicy type_consistency;
};
@extensibility(MUTABLE)
struct DataReaderQos {
// ...
DataRepresentationQosPolicy representation;
TypeConsistencyEnforcementQosPolicy type_consistency;
};
}; // end module DDS