Fast RTPS  Version 2.4.0
Fast RTPS
dds-xtypes_discovery.idl
1 /* dds-xtypes_discovery.idl */
2 
3 // The types in this file shall be serialized with XCDR encoding version 1
4 module DDS {
5  @extensibility(APPENDABLE) @nested
6  struct BuiltinTopicKey_t {
7  octet value[16];
8  };
9 
10  @extensibility(FINAL) @nested
11  struct Duration_t {
12  long sec; unsigned long nanosec;
13  };
14 
15  @extensibility(APPENDABLE) @nested
16  struct DeadlineQosPolicy {
17  Duration_t period;
18  };
19 
21  BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS,
22  BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS
23  };
24 
25  @extensibility(APPENDABLE) @nested
26  struct DestinationOrderQosPolicy {
27  DestinationOrderQosPolicyKind kind;
28  };
29 
31  VOLATILE_DURABILITY_QOS,
32  TRANSIENT_LOCAL_DURABILITY_QOS,
33  TRANSIENT_DURABILITY_QOS,
34  PERSISTENT_DURABILITY_QOS
35  };
36 
37  @extensibility(APPENDABLE) @nested
38  struct DurabilityQosPolicy {
39  DurabilityQosPolicyKind kind;
40  };
41 
43  KEEP_LAST_HISTORY_QOS,
44  KEEP_ALL_HISTORY_QOS
45  };
46 
47  @extensibility(APPENDABLE) @nested
48  struct HistoryQosPolicy {
49  HistoryQosPolicyKind kind;
50  long depth;
51  };
52 
53  @extensibility(APPENDABLE) @nested
55  Duration_t service_cleanup_delay;
56  HistoryQosPolicyKind history_kind;
57  long history_depth;
58  long max_samples;
59  long max_instances;
60  long max_samples_per_instance;
61  };
62 
63  @extensibility(APPENDABLE) @nested
64  struct GroupDataQosPolicy {
65  ByteSeq value;
66  };
67 
68  @extensibility(APPENDABLE) @nested
69  struct LatencyBudgetQosPolicy {
70  Duration_t duration;
71  };
72 
73  @extensibility(APPENDABLE) @nested
74  struct LifespanQosPolicy {
75  Duration_t duration;
76  };
77 
79  AUTOMATIC_LIVELINESS_QOS,
80  MANUAL_BY_PARTICIPANT_LIVELINESS_QOS,
81  MANUAL_BY_TOPIC_LIVELINESS_QOS
82  };
83 
84  @extensibility(APPENDABLE) @nested
85  struct LivelinessQosPolicy {
86  LivelinessQosPolicyKind kind;
87  Duration_t lease_duration;
88  };
89 
91  SHARED_OWNERSHIP_QOS,
92  EXCLUSIVE_OWNERSHIP_QOS
93  };
94 
95  @extensibility(APPENDABLE) @nested
96  struct OwnershipQosPolicy {
97  OwnershipQosPolicyKind kind;
98  };
99 
100  @extensibility(APPENDABLE) @nested
102  long value;
103  };
104 
105  @extensibility(APPENDABLE) @nested
106  struct PartitionQosPolicy {
107  StringSeq name;
108  };
109 
111  INSTANCE_PRESENTATION_QOS,
112  TOPIC_PRESENTATION_QOS,
113  GROUP_PRESENTATION_QOS
114  };
115 
116  @extensibility(APPENDABLE) @nested
117  struct PresentationQosPolicy {
118  PresentationQosPolicyAccessScopeKind access_scope;
119  boolean coherent_access;
120  boolean ordered_access;
121  };
122 
124  BEST_EFFORT_RELIABILITY_QOS,
125  RELIABLE_RELIABILITY_QOS
126  };
127 
128  @extensibility(APPENDABLE) @nested
129  struct ReliabilityQosPolicy {
130  ReliabilityQosPolicyKind kind;
131  Duration_t max_blocking_time;
132  };
133 
134  @extensibility(APPENDABLE) @nested
135  struct ResourceLimitsQosPolicy {
136  long max_samples;
137  long max_instances;
138  long max_samples_per_instance;
139  };
140 
141  @extensibility(APPENDABLE) @nested
142  struct TimeBasedFilterQosPolicy {
143  Duration_t minimum_separation;
144  };
145 
146  @extensibility(APPENDABLE) @nested
147  struct TopicDataQosPolicy {
148  ByteSeq value;
149  };
150 
151  @extensibility(APPENDABLE) @nested
153  long value;
154  };
155 
156  @extensibility(APPENDABLE) @nested
157  struct UserDataQosPolicy {
158  ByteSeq value;
159  };
160 
161  @extensibility(MUTABLE)
162  struct ParticipantBuiltinTopicData {
163  @id(0x0050) @key BuiltinTopicKey_t key;
164  @id(0x002C) UserDataQosPolicy user_data;
165  };
166 
167  typedef short DataRepresentationId_t;
168 
172 
173  typedef sequence<DataRepresentationId_t> DataRepresentationIdSeq;
174 
175  const QosPolicyId_t DATA_REPRESENTATION_QOS_POLICY_ID = 23;
176  const string DATA_REPRESENTATION_QOS_POLICY_NAME = "DataRepresentation";
177 
178  @extensibility(APPENDABLE) @nested
179  struct DataRepresentationQosPolicy {
181  };
182 
183  @bit_bound(16) enum TypeConsistencyKind {
184  DISALLOW_TYPE_COERCION,
185  ALLOW_TYPE_COERCION
186  };
187 
189  const string TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME = "TypeConsistencyEnforcement";
190 
191  @extensibility(APPENDABLE) @nested
192  struct TypeConsistencyEnforcementQosPolicy {
193  TypeConsistencyKind kind;
194  boolean ignore_sequence_bounds;
195  boolean ignore_string_bounds;
196  boolean ignore_member_names;
197  boolean prevent_type_widening;
198  boolean force_type_validation;
199  };
200 
201  @extensibility(MUTABLE)
202  struct TopicBuiltinTopicData {
203  @id(0x005A) @key BuiltinTopicKey_t key;
204  @id(0x0005) ObjectName name;
205  @id(0x0007) ObjectName type_name;
206  @id(0x0069) @optional TypeIdV1 type_id; // XTYPES 1.1
207  @id(0x0072) @optional TypeObjectV1 type; // XTYPES 1.1
208  @id(0x0075) @optional XTypes::TypeInformation type_information;
209  // XTYPES 1.2
210  @id(0x001D) DurabilityQosPolicy durability;
211  @id(0x001E) DurabilityServiceQosPolicy durability_service;
212  @id(0x0023) DeadlineQosPolicy deadline;
213  @id(0x0027) LatencyBudgetQosPolicy latency_budget;
214  @id(0x001B) LivelinessQosPolicy liveliness;
215  @id(0x001A) ReliabilityQosPolicy reliability;
216  @id(0x0049) TransportPriorityQosPolicy transport_priority;
217  @id(0x002B) LifespanQosPolicy lifespan;
218  @id(0x0025) DestinationOrderQosPolicy destination_order;
219  @id(0x0040) HistoryQosPolicy history;
220  @id(0x0041) ResourceLimitsQosPolicy resource_limits;
221  @id(0x001F) OwnershipQosPolicy ownership;
222  @id(0x002E) TopicDataQosPolicy topic_data;
223  @id(0x0073) DataRepresentationQosPolicy representation;
224  };
225 
226  @extensibility(MUTABLE) struct TopicQos {
227  // ...
228  DataRepresentationQosPolicy representation;
229  };
230 
231  @extensibility(MUTABLE)
232  struct PublicationBuiltinTopicData {
233  @id(0x005A) @key BuiltinTopicKey_t key;
234  @id(0x0050) BuiltinTopicKey_t participant_key;
235  @id(0x0005) ObjectName topic_name;
236  @id(0x0007) ObjectName type_name;
237  @id(0x0069) @optional TypeIdV1 type_id; // XTYPES 1.1
238  @id(0x0072) @optional TypeObjectV1 type; // XTYPES 1.1
239  @id(0x0075) @optional XTypes::TypeInformation type_information;
240  // XTYPES 1.2
241  @id(0x001D) DurabilityQosPolicy durability;
242  @id(0x001E) DurabilityServiceQosPolicy durability_service;
243  @id(0x0023) DeadlineQosPolicy deadline;
244  @id(0x0027) LatencyBudgetQosPolicy latency_budget;
245  @id(0x001B) LivelinessQosPolicy liveliness;
246  @id(0x001A) ReliabilityQosPolicy reliability;
247  @id(0x002B) LifespanQosPolicy lifespan;
248  @id(0x002C) UserDataQosPolicy user_data;
249  @id(0x001F) OwnershipQosPolicy ownership;
250  @id(0x0006) OwnershipStrengthQosPolicy ownership_strength;
251  @id(0x0025) DestinationOrderQosPolicy destination_order;
252  @id(0x0021) PresentationQosPolicy presentation;
253  @id(0x0029) PartitionQosPolicy partition;
254  @id(0x002E) TopicDataQosPolicy topic_data;
255  @id(0x002D) GroupDataQosPolicy group_data;
256  @id(0x0073) DataRepresentationQosPolicy representation;
257  };
258 
259  @extensibility(MUTABLE)
260  struct DataWriterQos {
261  // ... DataRepresentationQosPolicy representation;
262  };
263 
264  @extensibility(MUTABLE)
265  struct SubscriptionBuiltinTopicData {
266  @id(0x005A) @key BuiltinTopicKey_t key;
267  @id(0x0050) BuiltinTopicKey_t participant_key;
268  @id(0x0005) ObjectName topic_name;
269  @id(0x0007) ObjectName type_name;
270  @id(0x0069) @optional TypeIdV1 type_id; // XTYPES 1.1
271  @id(0x0072) @optional TypeObjectV1 type; // XTYPES 1.1
272  @id(0x0075) @optional XTypes::TypeInformation type_information;
273  // XTYPES 1.2
274  @id(0x001D) DurabilityQosPolicy durability;
275  @id(0x0023) DeadlineQosPolicy deadline;
276  @id(0x0027) LatencyBudgetQosPolicy latency_budget;
277  @id(0x001B) LivelinessQosPolicy liveliness;
278  @id(0x001A) ReliabilityQosPolicy reliability;
279  @id(0x001F) OwnershipQosPolicy ownership;
280  @id(0x0025) DestinationOrderQosPolicy destination_order;
281  @id(0x002C) UserDataQosPolicy user_data;
282  @id(0x0004) TimeBasedFilterQosPolicy time_based_filter;
283  @id(0x0021) PresentationQosPolicy presentation;
284  @id(0x0029) PartitionQosPolicy partition;
285  @id(0x002E) TopicDataQosPolicy topic_data;
286  @id(0x002D) GroupDataQosPolicy group_data;
287  @id(0x0073) DataRepresentationQosPolicy representation;
288  @id(0x0074) TypeConsistencyEnforcementQosPolicy type_consistency;
289  };
290 
291  @extensibility(MUTABLE)
292  struct DataReaderQos {
293  // ...
294  DataRepresentationQosPolicy representation;
295  TypeConsistencyEnforcementQosPolicy type_consistency;
296  };
297 }; // end module DDS
298 
Definition: dds-builtin_types.idl:1
const DataRepresentationId_t XML_DATA_REPRESENTATION
Definition: dds-xtypes_discovery.idl:170
HistoryQosPolicyKind
Definition: dds-xtypes_discovery.idl:42
const DataRepresentationId_t XCDR_DATA_REPRESENTATION
Definition: dds-xtypes_discovery.idl:169
ReliabilityQosPolicyKind
Definition: dds-xtypes_discovery.idl:123
const DataRepresentationId_t XCDR2_DATA_REPRESENTATION
Definition: dds-xtypes_discovery.idl:171
const string TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_NAME
Definition: dds-xtypes_discovery.idl:189
const string DATA_REPRESENTATION_QOS_POLICY_NAME
Definition: dds-xtypes_discovery.idl:176
const QosPolicyId_t TYPE_CONSISTENCY_ENFORCEMENT_QOS_POLICY_ID
Definition: dds-xtypes_discovery.idl:188
PresentationQosPolicyAccessScopeKind
Definition: dds-xtypes_discovery.idl:110
DestinationOrderQosPolicyKind
Definition: dds-xtypes_discovery.idl:20
const QosPolicyId_t DATA_REPRESENTATION_QOS_POLICY_ID
Definition: dds-xtypes_discovery.idl:175
LivelinessQosPolicyKind
Definition: dds-xtypes_discovery.idl:78
short DataRepresentationId_t
Definition: dds-xtypes_discovery.idl:165
sequence< octet > ByteSeq
Definition: dds-language_binding.idl:175
DurabilityQosPolicyKind
Definition: dds-xtypes_discovery.idl:30
OwnershipQosPolicyKind
Definition: dds-xtypes_discovery.idl:90
sequence< DataRepresentationId_t > DataRepresentationIdSeq
Definition: dds-xtypes_discovery.idl:173
bit_bound(16) enum TypeConsistencyKind
Definition: dds-xtypes_discovery.idl:183
fastdds::dds::PresentationQosPolicy PresentationQosPolicy
Definition: QosPolicies.h:72
fastdds::dds::TypeConsistencyEnforcementQosPolicy TypeConsistencyEnforcementQosPolicy
Definition: QosPolicies.h:95
fastdds::dds::LatencyBudgetQosPolicy LatencyBudgetQosPolicy
Definition: QosPolicies.h:42
fastdds::dds::UserDataQosPolicy UserDataQosPolicy
Definition: QosPolicies.h:74
fastdds::dds::LifespanQosPolicy LifespanQosPolicy
Definition: QosPolicies.h:83
fastdds::dds::TypeObjectV1 TypeObjectV1
Definition: QosPolicies.h:103
fastdds::dds::DurabilityServiceQosPolicy DurabilityServiceQosPolicy
Definition: QosPolicies.h:82
fastdds::dds::OwnershipQosPolicy OwnershipQosPolicy
Definition: QosPolicies.h:57
fastdds::dds::LivelinessQosPolicy LivelinessQosPolicy
Definition: QosPolicies.h:49
fastdds::dds::OwnershipStrengthQosPolicy OwnershipStrengthQosPolicy
Definition: QosPolicies.h:84
fastdds::dds::TopicDataQosPolicy TopicDataQosPolicy
Definition: QosPolicies.h:75
fastdds::dds::GroupDataQosPolicy GroupDataQosPolicy
Definition: QosPolicies.h:76
fastdds::dds::TypeIdV1 TypeIdV1
Definition: QosPolicies.h:102
fastdds::dds::TimeBasedFilterQosPolicy TimeBasedFilterQosPolicy
Definition: QosPolicies.h:64
fastdds::dds::DataRepresentationQosPolicy DataRepresentationQosPolicy
Definition: QosPolicies.h:91
fastdds::dds::DeadlineQosPolicy DeadlineQosPolicy
Definition: QosPolicies.h:41
fastdds::dds::DestinationOrderQosPolicy DestinationOrderQosPolicy
Definition: QosPolicies.h:63
fastdds::dds::PartitionQosPolicy PartitionQosPolicy
Definition: QosPolicies.h:73
fastdds::dds::ResourceLimitsQosPolicy ResourceLimitsQosPolicy
Definition: QosPolicies.h:81
fastdds::dds::DurabilityQosPolicy DurabilityQosPolicy
Definition: QosPolicies.h:40
fastdds::dds::ReliabilityQosPolicy ReliabilityQosPolicy
Definition: QosPolicies.h:53
fastdds::dds::TransportPriorityQosPolicy TransportPriorityQosPolicy
Definition: QosPolicies.h:85
Definition: BuiltinAnnotationsTypeObject.h:73