/src/Fast-DDS/include/fastdds/dds/publisher/qos/DataWriterQos.hpp
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima). |
2 | | // |
3 | | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | | // you may not use this file except in compliance with the License. |
5 | | // You may obtain a copy of the License at |
6 | | // |
7 | | // http://www.apache.org/licenses/LICENSE-2.0 |
8 | | // |
9 | | // Unless required by applicable law or agreed to in writing, software |
10 | | // distributed under the License is distributed on an "AS IS" BASIS, |
11 | | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | | // See the License for the specific language governing permissions and |
13 | | // limitations under the License. |
14 | | |
15 | | /** |
16 | | * @file DataWriterQos.hpp |
17 | | */ |
18 | | |
19 | | |
20 | | #ifndef FASTDDS_DDS_PUBLISHER_QOS__DATAWRITERQOS_HPP |
21 | | #define FASTDDS_DDS_PUBLISHER_QOS__DATAWRITERQOS_HPP |
22 | | |
23 | | #include <fastdds/dds/core/policy/QosPolicies.hpp> |
24 | | #include <fastdds/dds/core/policy/RTPSReliableWriterQos.hpp> |
25 | | #include <fastdds/dds/core/policy/WriterDataLifecycleQosPolicy.hpp> |
26 | | #include <fastdds/dds/publisher/qos/PublisherQos.hpp> |
27 | | #include <fastdds/dds/publisher/qos/WriterQos.hpp> |
28 | | #include <fastdds/dds/topic/qos/TopicQos.hpp> |
29 | | #include <fastdds/rtps/attributes/WriterAttributes.hpp> |
30 | | |
31 | | namespace eprosima { |
32 | | namespace fastdds { |
33 | | namespace dds { |
34 | | |
35 | | /** |
36 | | * Class DataWriterQos, containing all the possible Qos that can be set for a determined DataWriter. |
37 | | * Although these values can be and are transmitted |
38 | | * during the Endpoint Discovery Protocol, not all of the behaviour associated with them has been implemented in the library. |
39 | | * Please consult each of them to check for implementation details and default values. |
40 | | * |
41 | | * @ingroup FASTDDS_QOS_MODULE |
42 | | */ |
43 | | class DataWriterQos |
44 | | { |
45 | | public: |
46 | | |
47 | | /** |
48 | | * @brief Constructor |
49 | | */ |
50 | | FASTDDS_EXPORTED_API DataWriterQos(); |
51 | | |
52 | | /** |
53 | | * @brief Destructor |
54 | | */ |
55 | 0 | FASTDDS_EXPORTED_API ~DataWriterQos() = default; |
56 | | |
57 | | FASTDDS_EXPORTED_API bool operator ==( |
58 | | const DataWriterQos& b) const |
59 | 0 | { |
60 | 0 | return (this->durability_ == b.durability()) && |
61 | 0 | (this->durability_service_ == b.durability_service()) && |
62 | 0 | (this->deadline_ == b.deadline()) && |
63 | 0 | (this->latency_budget_ == b.latency_budget()) && |
64 | 0 | (this->liveliness_ == b.liveliness()) && |
65 | 0 | (this->reliability_ == b.reliability()) && |
66 | 0 | (this->destination_order_ == b.destination_order()) && |
67 | 0 | (this->history_ == b.history()) && |
68 | 0 | (this->resource_limits_ == b.resource_limits()) && |
69 | 0 | (this->transport_priority_ == b.transport_priority()) && |
70 | 0 | (this->lifespan_ == b.lifespan()) && |
71 | 0 | (this->user_data_ == b.user_data()) && |
72 | 0 | (this->ownership_ == b.ownership()) && |
73 | 0 | (this->ownership_strength_ == b.ownership_strength()) && |
74 | 0 | (this->writer_data_lifecycle_ == b.writer_data_lifecycle()) && |
75 | 0 | (this->publish_mode_ == b.publish_mode()) && |
76 | 0 | (this->representation_ == b.representation()) && |
77 | 0 | (this->properties_ == b.properties()) && |
78 | 0 | (this->reliable_writer_qos_ == b.reliable_writer_qos()) && |
79 | 0 | (this->endpoint_ == b.endpoint()) && |
80 | 0 | (this->writer_resource_limits_ == b.writer_resource_limits()) && |
81 | 0 | (this->data_sharing_ == b.data_sharing()); |
82 | 0 | } |
83 | | |
84 | | FASTDDS_EXPORTED_API WriterQos get_writerqos( |
85 | | const PublisherQos& pqos, |
86 | | const TopicQos& tqos) const; |
87 | | |
88 | | /** |
89 | | * Getter for DurabilityQosPolicy |
90 | | * |
91 | | * @return DurabilityQosPolicy reference |
92 | | */ |
93 | | FASTDDS_EXPORTED_API DurabilityQosPolicy& durability() |
94 | 8 | { |
95 | 8 | return durability_; |
96 | 8 | } |
97 | | |
98 | | /** |
99 | | * Getter for DurabilityQosPolicy |
100 | | * |
101 | | * @return DurabilityQosPolicy reference |
102 | | */ |
103 | | FASTDDS_EXPORTED_API const DurabilityQosPolicy& durability() const |
104 | 0 | { |
105 | 0 | return durability_; |
106 | 0 | } |
107 | | |
108 | | /** |
109 | | * Setter for DurabilityQosPolicy |
110 | | * |
111 | | * @param durability new value for the DurabilityQosPolicy |
112 | | */ |
113 | | FASTDDS_EXPORTED_API void durability( |
114 | | const DurabilityQosPolicy& durability) |
115 | 0 | { |
116 | 0 | durability_ = durability; |
117 | 0 | } |
118 | | |
119 | | /** |
120 | | * Getter for DurabilityServiceQosPolicy |
121 | | * |
122 | | * @return DurabilityServiceQosPolicy reference |
123 | | */ |
124 | | FASTDDS_EXPORTED_API DurabilityServiceQosPolicy& durability_service() |
125 | 0 | { |
126 | 0 | return durability_service_; |
127 | 0 | } |
128 | | |
129 | | /** |
130 | | * Getter for DurabilityServiceQosPolicy |
131 | | * |
132 | | * @return DurabilityServiceQosPolicy reference |
133 | | */ |
134 | | FASTDDS_EXPORTED_API const DurabilityServiceQosPolicy& durability_service() const |
135 | 0 | { |
136 | 0 | return durability_service_; |
137 | 0 | } |
138 | | |
139 | | /** |
140 | | * Setter for DurabilityServiceQosPolicy |
141 | | * |
142 | | * @param durability_service new value for the DurabilityServiceQosPolicy |
143 | | */ |
144 | | FASTDDS_EXPORTED_API void durability_service( |
145 | | const DurabilityServiceQosPolicy& durability_service) |
146 | 0 | { |
147 | 0 | durability_service_ = durability_service; |
148 | 0 | } |
149 | | |
150 | | /** |
151 | | * Getter for DeadlineQosPolicy |
152 | | * |
153 | | * @return DeadlineQosPolicy reference |
154 | | */ |
155 | | FASTDDS_EXPORTED_API DeadlineQosPolicy& deadline() |
156 | 0 | { |
157 | 0 | return deadline_; |
158 | 0 | } |
159 | | |
160 | | /** |
161 | | * Getter for DeadlineQosPolicy |
162 | | * |
163 | | * @return DeadlineQosPolicy reference |
164 | | */ |
165 | | FASTDDS_EXPORTED_API const DeadlineQosPolicy& deadline() const |
166 | 0 | { |
167 | 0 | return deadline_; |
168 | 0 | } |
169 | | |
170 | | /** |
171 | | * Setter for DeadlineQosPolicy |
172 | | * |
173 | | * @param deadline new value for the DeadlineQosPolicy |
174 | | */ |
175 | | FASTDDS_EXPORTED_API void deadline( |
176 | | const DeadlineQosPolicy& deadline) |
177 | 0 | { |
178 | 0 | deadline_ = deadline; |
179 | 0 | } |
180 | | |
181 | | /** |
182 | | * Getter for LatencyBudgetQosPolicy |
183 | | * |
184 | | * @return LatencyBudgetQosPolicy reference |
185 | | */ |
186 | | FASTDDS_EXPORTED_API LatencyBudgetQosPolicy& latency_budget() |
187 | 0 | { |
188 | 0 | return latency_budget_; |
189 | 0 | } |
190 | | |
191 | | /** |
192 | | * Getter for LatencyBudgetQosPolicy |
193 | | * |
194 | | * @return LatencyBudgetQosPolicy reference |
195 | | */ |
196 | | FASTDDS_EXPORTED_API const LatencyBudgetQosPolicy& latency_budget() const |
197 | 0 | { |
198 | 0 | return latency_budget_; |
199 | 0 | } |
200 | | |
201 | | /** |
202 | | * Setter for LatencyBudgetQosPolicy |
203 | | * |
204 | | * @param latency_budget new value for the LatencyBudgetQosPolicy |
205 | | */ |
206 | | FASTDDS_EXPORTED_API void latency_budget( |
207 | | const LatencyBudgetQosPolicy& latency_budget) |
208 | 0 | { |
209 | 0 | latency_budget_ = latency_budget; |
210 | 0 | } |
211 | | |
212 | | /** |
213 | | * Getter for LivelinessQosPolicy |
214 | | * |
215 | | * @return LivelinessQosPolicy reference |
216 | | */ |
217 | | FASTDDS_EXPORTED_API LivelinessQosPolicy& liveliness() |
218 | 0 | { |
219 | 0 | return liveliness_; |
220 | 0 | } |
221 | | |
222 | | /** |
223 | | * Getter for LivelinessQosPolicy |
224 | | * |
225 | | * @return LivelinessQosPolicy reference |
226 | | */ |
227 | | FASTDDS_EXPORTED_API const LivelinessQosPolicy& liveliness() const |
228 | 0 | { |
229 | 0 | return liveliness_; |
230 | 0 | } |
231 | | |
232 | | /** |
233 | | * Setter for LivelinessQosPolicy |
234 | | * |
235 | | * @param liveliness new value for the LivelinessQosPolicy |
236 | | */ |
237 | | FASTDDS_EXPORTED_API void liveliness( |
238 | | const LivelinessQosPolicy& liveliness) |
239 | 0 | { |
240 | 0 | liveliness_ = liveliness; |
241 | 0 | } |
242 | | |
243 | | /** |
244 | | * Getter for ReliabilityQosPolicy |
245 | | * |
246 | | * @return ReliabilityQosPolicy reference |
247 | | */ |
248 | | FASTDDS_EXPORTED_API ReliabilityQosPolicy& reliability() |
249 | 8 | { |
250 | 8 | return reliability_; |
251 | 8 | } |
252 | | |
253 | | /** |
254 | | * Getter for ReliabilityQosPolicy |
255 | | * |
256 | | * @return ReliabilityQosPolicy reference |
257 | | */ |
258 | | FASTDDS_EXPORTED_API const ReliabilityQosPolicy& reliability() const |
259 | 0 | { |
260 | 0 | return reliability_; |
261 | 0 | } |
262 | | |
263 | | /** |
264 | | * Setter for ReliabilityQosPolicy |
265 | | * |
266 | | * @param reliability new value for the ReliabilityQosPolicy |
267 | | */ |
268 | | FASTDDS_EXPORTED_API void reliability( |
269 | | const ReliabilityQosPolicy& reliability) |
270 | 0 | { |
271 | 0 | reliability_ = reliability; |
272 | 0 | } |
273 | | |
274 | | /** |
275 | | * Getter for DestinationOrderQosPolicy |
276 | | * |
277 | | * @return DestinationOrderQosPolicy reference |
278 | | */ |
279 | | FASTDDS_EXPORTED_API DestinationOrderQosPolicy& destination_order() |
280 | 0 | { |
281 | 0 | return destination_order_; |
282 | 0 | } |
283 | | |
284 | | /** |
285 | | * Getter for DestinationOrderQosPolicy |
286 | | * |
287 | | * @return DestinationOrderQosPolicy reference |
288 | | */ |
289 | | FASTDDS_EXPORTED_API const DestinationOrderQosPolicy& destination_order() const |
290 | 0 | { |
291 | 0 | return destination_order_; |
292 | 0 | } |
293 | | |
294 | | /** |
295 | | * Setter for DestinationOrderQosPolicy |
296 | | * |
297 | | * @param destination_order new value for the DestinationOrderQosPolicy |
298 | | */ |
299 | | FASTDDS_EXPORTED_API void destination_order( |
300 | | const DestinationOrderQosPolicy& destination_order) |
301 | 0 | { |
302 | 0 | destination_order_ = destination_order; |
303 | 0 | } |
304 | | |
305 | | /** |
306 | | * Getter for HistoryQosPolicy |
307 | | * |
308 | | * @return HistoryQosPolicy reference |
309 | | */ |
310 | | FASTDDS_EXPORTED_API HistoryQosPolicy& history() |
311 | 16 | { |
312 | 16 | return history_; |
313 | 16 | } |
314 | | |
315 | | /** |
316 | | * Getter for HistoryQosPolicy |
317 | | * |
318 | | * @return HistoryQosPolicy reference |
319 | | */ |
320 | | FASTDDS_EXPORTED_API const HistoryQosPolicy& history() const |
321 | 0 | { |
322 | 0 | return history_; |
323 | 0 | } |
324 | | |
325 | | /** |
326 | | * Setter for HistoryQosPolicy |
327 | | * |
328 | | * @param history new value for the HistoryQosPolicy |
329 | | */ |
330 | | FASTDDS_EXPORTED_API void history( |
331 | | const HistoryQosPolicy& history) |
332 | 0 | { |
333 | 0 | history_ = history; |
334 | 0 | } |
335 | | |
336 | | /** |
337 | | * Getter for ResourceLimitsQosPolicy |
338 | | * |
339 | | * @return ResourceLimitsQosPolicy reference |
340 | | */ |
341 | | FASTDDS_EXPORTED_API ResourceLimitsQosPolicy& resource_limits() |
342 | 0 | { |
343 | 0 | return resource_limits_; |
344 | 0 | } |
345 | | |
346 | | /** |
347 | | * Getter for ResourceLimitsQosPolicy |
348 | | * |
349 | | * @return ResourceLimitsQosPolicy reference |
350 | | */ |
351 | | FASTDDS_EXPORTED_API const ResourceLimitsQosPolicy& resource_limits() const |
352 | 0 | { |
353 | 0 | return resource_limits_; |
354 | 0 | } |
355 | | |
356 | | /** |
357 | | * Setter for ResourceLimitsQosPolicy |
358 | | * |
359 | | * @param resource_limits new value for the ResourceLimitsQosPolicy |
360 | | */ |
361 | | FASTDDS_EXPORTED_API void resource_limits( |
362 | | const ResourceLimitsQosPolicy& resource_limits) |
363 | 0 | { |
364 | 0 | resource_limits_ = resource_limits; |
365 | 0 | } |
366 | | |
367 | | /** |
368 | | * Getter for TransportPriorityQosPolicy |
369 | | * |
370 | | * @return TransportPriorityQosPolicy reference |
371 | | */ |
372 | | FASTDDS_EXPORTED_API TransportPriorityQosPolicy& transport_priority() |
373 | 0 | { |
374 | 0 | return transport_priority_; |
375 | 0 | } |
376 | | |
377 | | /** |
378 | | * Getter for TransportPriorityQosPolicy |
379 | | * |
380 | | * @return TransportPriorityQosPolicy reference |
381 | | */ |
382 | | FASTDDS_EXPORTED_API const TransportPriorityQosPolicy& transport_priority() const |
383 | 0 | { |
384 | 0 | return transport_priority_; |
385 | 0 | } |
386 | | |
387 | | /** |
388 | | * Setter for TransportPriorityQosPolicy |
389 | | * |
390 | | * @param transport_priority new value for the TransportPriorityQosPolicy |
391 | | */ |
392 | | FASTDDS_EXPORTED_API void transport_priority( |
393 | | const TransportPriorityQosPolicy& transport_priority) |
394 | 0 | { |
395 | 0 | transport_priority_ = transport_priority; |
396 | 0 | } |
397 | | |
398 | | /** |
399 | | * Getter for LifespanQosPolicy |
400 | | * |
401 | | * @return LifespanQosPolicy reference |
402 | | */ |
403 | | FASTDDS_EXPORTED_API LifespanQosPolicy& lifespan() |
404 | 0 | { |
405 | 0 | return lifespan_; |
406 | 0 | } |
407 | | |
408 | | /** |
409 | | * Getter for LifespanQosPolicy |
410 | | * |
411 | | * @return LifespanQosPolicy reference |
412 | | */ |
413 | | FASTDDS_EXPORTED_API const LifespanQosPolicy& lifespan() const |
414 | 0 | { |
415 | 0 | return lifespan_; |
416 | 0 | } |
417 | | |
418 | | /** |
419 | | * Setter for LifespanQosPolicy |
420 | | * |
421 | | * @param lifespan new value for the LifespanQosPolicy |
422 | | */ |
423 | | FASTDDS_EXPORTED_API void lifespan( |
424 | | const LifespanQosPolicy& lifespan) |
425 | 0 | { |
426 | 0 | lifespan_ = lifespan; |
427 | 0 | } |
428 | | |
429 | | /** |
430 | | * Getter for UserDataQosPolicy |
431 | | * |
432 | | * @return UserDataQosPolicy reference |
433 | | */ |
434 | | FASTDDS_EXPORTED_API UserDataQosPolicy& user_data() |
435 | 0 | { |
436 | 0 | return user_data_; |
437 | 0 | } |
438 | | |
439 | | /** |
440 | | * Getter for UserDataQosPolicy |
441 | | * |
442 | | * @return UserDataQosPolicy reference |
443 | | */ |
444 | | FASTDDS_EXPORTED_API const UserDataQosPolicy& user_data() const |
445 | 0 | { |
446 | 0 | return user_data_; |
447 | 0 | } |
448 | | |
449 | | /** |
450 | | * Setter for UserDataQosPolicy |
451 | | * |
452 | | * @param user_data new value for the UserDataQosPolicy |
453 | | */ |
454 | | FASTDDS_EXPORTED_API void user_data( |
455 | | const UserDataQosPolicy& user_data) |
456 | 0 | { |
457 | 0 | user_data_ = user_data; |
458 | 0 | } |
459 | | |
460 | | /** |
461 | | * Getter for OwnershipQosPolicy |
462 | | * |
463 | | * @return OwnershipQosPolicy reference |
464 | | */ |
465 | | FASTDDS_EXPORTED_API OwnershipQosPolicy& ownership() |
466 | 0 | { |
467 | 0 | return ownership_; |
468 | 0 | } |
469 | | |
470 | | /** |
471 | | * Getter for OwnershipQosPolicy |
472 | | * |
473 | | * @return OwnershipQosPolicy reference |
474 | | */ |
475 | | FASTDDS_EXPORTED_API const OwnershipQosPolicy& ownership() const |
476 | 0 | { |
477 | 0 | return ownership_; |
478 | 0 | } |
479 | | |
480 | | /** |
481 | | * Setter for OwnershipQosPolicy |
482 | | * |
483 | | * @param ownership new value for the OwnershipQosPolicy |
484 | | */ |
485 | | FASTDDS_EXPORTED_API void ownership( |
486 | | const OwnershipQosPolicy& ownership) |
487 | 0 | { |
488 | 0 | ownership_ = ownership; |
489 | 0 | } |
490 | | |
491 | | /** |
492 | | * Getter for OwnershipStrengthQosPolicy |
493 | | * |
494 | | * @return OwnershipStrengthQosPolicy reference |
495 | | */ |
496 | | FASTDDS_EXPORTED_API OwnershipStrengthQosPolicy& ownership_strength() |
497 | 0 | { |
498 | 0 | return ownership_strength_; |
499 | 0 | } |
500 | | |
501 | | /** |
502 | | * Getter for OwnershipStrengthQosPolicy |
503 | | * |
504 | | * @return OwnershipStrengthQosPolicy reference |
505 | | */ |
506 | | FASTDDS_EXPORTED_API const OwnershipStrengthQosPolicy& ownership_strength() const |
507 | 0 | { |
508 | 0 | return ownership_strength_; |
509 | 0 | } |
510 | | |
511 | | /** |
512 | | * Setter for OwnershipStrengthQosPolicy |
513 | | * |
514 | | * @param ownership_strength new value for the OwnershipStrengthQosPolicy |
515 | | */ |
516 | | FASTDDS_EXPORTED_API void ownership_strength( |
517 | | const OwnershipStrengthQosPolicy& ownership_strength) |
518 | 0 | { |
519 | 0 | ownership_strength_ = ownership_strength; |
520 | 0 | } |
521 | | |
522 | | /** |
523 | | * Getter for WriterDataLifecycleQosPolicy |
524 | | * |
525 | | * @return WriterDataLifecycleQosPolicy reference |
526 | | */ |
527 | | FASTDDS_EXPORTED_API WriterDataLifecycleQosPolicy& writer_data_lifecycle() |
528 | 0 | { |
529 | 0 | return writer_data_lifecycle_; |
530 | 0 | } |
531 | | |
532 | | /** |
533 | | * Getter for WriterDataLifecycleQosPolicy |
534 | | * |
535 | | * @return WriterDataLifecycleQosPolicy reference |
536 | | */ |
537 | | FASTDDS_EXPORTED_API const WriterDataLifecycleQosPolicy& writer_data_lifecycle() const |
538 | 0 | { |
539 | 0 | return writer_data_lifecycle_; |
540 | 0 | } |
541 | | |
542 | | /** |
543 | | * Setter for WriterDataLifecycleQosPolicy |
544 | | * |
545 | | * @param writer_data_lifecycle new value for the WriterDataLifecycleQosPolicy |
546 | | */ |
547 | | FASTDDS_EXPORTED_API void writer_data_lifecycle( |
548 | | const WriterDataLifecycleQosPolicy& writer_data_lifecycle) |
549 | 0 | { |
550 | 0 | writer_data_lifecycle_ = writer_data_lifecycle; |
551 | 0 | } |
552 | | |
553 | | /** |
554 | | * Getter for PublishModeQosPolicy |
555 | | * |
556 | | * @return PublishModeQosPolicy reference |
557 | | */ |
558 | | FASTDDS_EXPORTED_API PublishModeQosPolicy& publish_mode() |
559 | 16 | { |
560 | 16 | return publish_mode_; |
561 | 16 | } |
562 | | |
563 | | /** |
564 | | * Getter for PublishModeQosPolicy |
565 | | * |
566 | | * @return PublishModeQosPolicy reference |
567 | | */ |
568 | | FASTDDS_EXPORTED_API const PublishModeQosPolicy& publish_mode() const |
569 | 0 | { |
570 | 0 | return publish_mode_; |
571 | 0 | } |
572 | | |
573 | | /** |
574 | | * Setter for PublishModeQosPolicy |
575 | | * |
576 | | * @param publish_mode new value for the PublishModeQosPolicy |
577 | | */ |
578 | | FASTDDS_EXPORTED_API void publish_mode( |
579 | | const PublishModeQosPolicy& publish_mode) |
580 | 0 | { |
581 | 0 | publish_mode_ = publish_mode; |
582 | 0 | } |
583 | | |
584 | | /** |
585 | | * Getter for DataRepresentationQosPolicy |
586 | | * |
587 | | * @return DataRepresentationQosPolicy reference |
588 | | */ |
589 | | FASTDDS_EXPORTED_API DataRepresentationQosPolicy& representation() |
590 | 0 | { |
591 | 0 | return representation_; |
592 | 0 | } |
593 | | |
594 | | /** |
595 | | * Getter for DataRepresentationQosPolicy |
596 | | * |
597 | | * @return DataRepresentationQosPolicy reference |
598 | | */ |
599 | | FASTDDS_EXPORTED_API const DataRepresentationQosPolicy& representation() const |
600 | 0 | { |
601 | 0 | return representation_; |
602 | 0 | } |
603 | | |
604 | | /** |
605 | | * Setter for DataRepresentationQosPolicy |
606 | | * |
607 | | * @param representation new value for the DataRepresentationQosPolicy |
608 | | */ |
609 | | FASTDDS_EXPORTED_API void representation( |
610 | | const DataRepresentationQosPolicy& representation) |
611 | 0 | { |
612 | 0 | representation_ = representation; |
613 | 0 | } |
614 | | |
615 | | /** |
616 | | * Getter for PropertyPolicyQos |
617 | | * |
618 | | * @return PropertyPolicyQos reference |
619 | | */ |
620 | | FASTDDS_EXPORTED_API PropertyPolicyQos& properties() |
621 | 8 | { |
622 | 8 | return properties_; |
623 | 8 | } |
624 | | |
625 | | /** |
626 | | * Getter for PropertyPolicyQos |
627 | | * |
628 | | * @return PropertyPolicyQos reference |
629 | | */ |
630 | | FASTDDS_EXPORTED_API const PropertyPolicyQos& properties() const |
631 | 0 | { |
632 | 0 | return properties_; |
633 | 0 | } |
634 | | |
635 | | /** |
636 | | * Setter for PropertyPolicyQos |
637 | | * |
638 | | * @param properties new value for the PropertyPolicyQos |
639 | | */ |
640 | | FASTDDS_EXPORTED_API void properties( |
641 | | const PropertyPolicyQos& properties) |
642 | 0 | { |
643 | 0 | properties_ = properties; |
644 | 0 | } |
645 | | |
646 | | /** |
647 | | * Getter for RTPSReliableWriterQos |
648 | | * |
649 | | * @return RTPSReliableWriterQos reference |
650 | | */ |
651 | | FASTDDS_EXPORTED_API RTPSReliableWriterQos& reliable_writer_qos() |
652 | 0 | { |
653 | 0 | return reliable_writer_qos_; |
654 | 0 | } |
655 | | |
656 | | /** |
657 | | * Getter for RTPSReliableWriterQos |
658 | | * |
659 | | * @return RTPSReliableWriterQos reference |
660 | | */ |
661 | | FASTDDS_EXPORTED_API const RTPSReliableWriterQos& reliable_writer_qos() const |
662 | 0 | { |
663 | 0 | return reliable_writer_qos_; |
664 | 0 | } |
665 | | |
666 | | /** |
667 | | * Setter for RTPSReliableWriterQos |
668 | | * |
669 | | * @param reliable_writer_qos new value for the RTPSReliableWriterQos |
670 | | */ |
671 | | FASTDDS_EXPORTED_API void reliable_writer_qos( |
672 | | const RTPSReliableWriterQos& reliable_writer_qos) |
673 | 0 | { |
674 | 0 | reliable_writer_qos_ = reliable_writer_qos; |
675 | 0 | } |
676 | | |
677 | | /** |
678 | | * Getter for RTPSEndpointQos |
679 | | * |
680 | | * @return RTPSEndpointQos reference |
681 | | */ |
682 | | FASTDDS_EXPORTED_API RTPSEndpointQos& endpoint() |
683 | 0 | { |
684 | 0 | return endpoint_; |
685 | 0 | } |
686 | | |
687 | | /** |
688 | | * Getter for RTPSEndpointQos |
689 | | * @return RTPSEndpointQos reference |
690 | | */ |
691 | | FASTDDS_EXPORTED_API const RTPSEndpointQos& endpoint() const |
692 | 0 | { |
693 | 0 | return endpoint_; |
694 | 0 | } |
695 | | |
696 | | /** |
697 | | * Setter for RTPSEndpointQos |
698 | | * |
699 | | * @param endpoint new value for the RTPSEndpointQos |
700 | | */ |
701 | | FASTDDS_EXPORTED_API void endpoint( |
702 | | const RTPSEndpointQos& endpoint) |
703 | 0 | { |
704 | 0 | endpoint_ = endpoint; |
705 | 0 | } |
706 | | |
707 | | /** |
708 | | * Getter for WriterResourceLimitsQos |
709 | | * |
710 | | * @return WriterResourceLimitsQos reference |
711 | | */ |
712 | | FASTDDS_EXPORTED_API WriterResourceLimitsQos& writer_resource_limits() |
713 | 0 | { |
714 | 0 | return writer_resource_limits_; |
715 | 0 | } |
716 | | |
717 | | /** |
718 | | * Getter for WriterResourceLimitsQos |
719 | | * |
720 | | * @return WriterResourceLimitsQos reference |
721 | | */ |
722 | | FASTDDS_EXPORTED_API const WriterResourceLimitsQos& writer_resource_limits() const |
723 | 0 | { |
724 | 0 | return writer_resource_limits_; |
725 | 0 | } |
726 | | |
727 | | /** |
728 | | * Setter for WriterResourceLimitsQos |
729 | | * |
730 | | * @param writer_resource_limits new value for the WriterResourceLimitsQos |
731 | | */ |
732 | | FASTDDS_EXPORTED_API void writer_resource_limits( |
733 | | const WriterResourceLimitsQos& writer_resource_limits) |
734 | 0 | { |
735 | 0 | writer_resource_limits_ = writer_resource_limits; |
736 | 0 | } |
737 | | |
738 | | /** |
739 | | * Getter for DataSharingQosPolicy |
740 | | * |
741 | | * @return DataSharingQosPolicy reference |
742 | | */ |
743 | | FASTDDS_EXPORTED_API DataSharingQosPolicy& data_sharing() |
744 | 0 | { |
745 | 0 | return data_sharing_; |
746 | 0 | } |
747 | | |
748 | | /** |
749 | | * Getter for DataSharingQosPolicy |
750 | | * |
751 | | * @return DataSharingQosPolicy reference |
752 | | */ |
753 | | FASTDDS_EXPORTED_API const DataSharingQosPolicy& data_sharing() const |
754 | 0 | { |
755 | 0 | return data_sharing_; |
756 | 0 | } |
757 | | |
758 | | /** |
759 | | * Setter for DataSharingQosPolicy |
760 | | * |
761 | | * @param data_sharing new value for the DataSharingQosPolicy |
762 | | */ |
763 | | FASTDDS_EXPORTED_API void data_sharing( |
764 | | const DataSharingQosPolicy& data_sharing) |
765 | 0 | { |
766 | 0 | data_sharing_ = data_sharing; |
767 | 0 | } |
768 | | |
769 | | private: |
770 | | |
771 | | //!Durability Qos, implemented in the library. |
772 | | DurabilityQosPolicy durability_; |
773 | | |
774 | | //!Durability Service Qos, NOT implemented in the library. |
775 | | DurabilityServiceQosPolicy durability_service_; |
776 | | |
777 | | //!Deadline Qos, implemented in the library. |
778 | | DeadlineQosPolicy deadline_; |
779 | | |
780 | | //!Latency Budget Qos, NOT implemented in the library. |
781 | | LatencyBudgetQosPolicy latency_budget_; |
782 | | |
783 | | //!Liveliness Qos, implemented in the library. |
784 | | LivelinessQosPolicy liveliness_; |
785 | | |
786 | | //!Reliability Qos, implemented in the library. |
787 | | ReliabilityQosPolicy reliability_; |
788 | | |
789 | | //!Destination Order Qos, NOT implemented in the library. |
790 | | DestinationOrderQosPolicy destination_order_; |
791 | | |
792 | | //!History Qos, implemented in the library. |
793 | | HistoryQosPolicy history_; |
794 | | |
795 | | //!Resource Limits Qos, implemented in the library. |
796 | | ResourceLimitsQosPolicy resource_limits_; |
797 | | |
798 | | //!Transport Priority Qos, NOT implemented in the library. |
799 | | TransportPriorityQosPolicy transport_priority_; |
800 | | |
801 | | //!Lifespan Qos, implemented in the library. |
802 | | LifespanQosPolicy lifespan_; |
803 | | |
804 | | //!User Data Qos, implemented in the library. |
805 | | UserDataQosPolicy user_data_; |
806 | | |
807 | | //!Ownership Qos, implemented in the library. |
808 | | OwnershipQosPolicy ownership_; |
809 | | |
810 | | //!Ownership Strength Qos, implemented in the library. |
811 | | OwnershipStrengthQosPolicy ownership_strength_; |
812 | | |
813 | | //!Writer Data Lifecycle Qos, NOT implemented in the library. |
814 | | WriterDataLifecycleQosPolicy writer_data_lifecycle_; |
815 | | |
816 | | //!Publication Mode Qos, implemented in the library. |
817 | | PublishModeQosPolicy publish_mode_; |
818 | | |
819 | | //!Data Representation Qos, implemented in the library. |
820 | | DataRepresentationQosPolicy representation_; |
821 | | |
822 | | //!Property policies |
823 | | PropertyPolicyQos properties_; |
824 | | |
825 | | //!RTPS Reliable Writer Qos |
826 | | RTPSReliableWriterQos reliable_writer_qos_; |
827 | | |
828 | | //!RTPS Endpoint Qos |
829 | | RTPSEndpointQos endpoint_; |
830 | | |
831 | | //!Writer Resource Limits Qos |
832 | | WriterResourceLimitsQos writer_resource_limits_; |
833 | | |
834 | | //!DataSharing configuration |
835 | | DataSharingQosPolicy data_sharing_; |
836 | | }; |
837 | | |
838 | | FASTDDS_EXPORTED_API extern const DataWriterQos DATAWRITER_QOS_DEFAULT; |
839 | | FASTDDS_EXPORTED_API extern const DataWriterQos DATAWRITER_QOS_USE_TOPIC_QOS; |
840 | | |
841 | | } // namespace dds |
842 | | } // namespace fastdds |
843 | | } // namespace eprosima |
844 | | |
845 | | #endif // FASTDDS_DDS_PUBLISHER_QOS__DATAWRITERQOS_HPP |