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