OpenDDS  Snapshot(2023/04/28-20:55)
Qos_Helper.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef OPENDDS_DCPS_QOS_HELPER_H
9 #define OPENDDS_DCPS_QOS_HELPER_H
10 
11 #include "dds/DdsDcpsInfrastructureC.h"
12 #include "dds/DdsDcpsPublicationC.h"
13 #include "dds/DdsDcpsSubscriptionC.h"
14 #include "dds/DdsDcpsTopicC.h"
15 #include "Time_Helper.h"
16 
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 #pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
20 
22 
23 namespace OpenDDS {
24 namespace DCPS {
25 
26 /**
27  * @class Qos_Helper
28  *
29  * @brief This class implements methods that verify whether a qos is
30  * valid, consistent and changeable.
31  *
32  * valid - the values are in acceptable ranges without respect
33  * to any other values.
34  *
35  * consistent - the values are consistent with each other.
36  * The spec sometimes calls this "compatible" but I
37  * this compatible should be reserved for matching
38  * QoS of subscriptions and publications.
39  * The spec is confusing in its inconsistency of the
40  * use of "compatible" and "consistent".
41  *
42  * The qos supported in current implementation:
43  * Liveliness : kind = AUTOMATIC
44  * Reliability : kind = RELIABLE | BEST_EFFORT
45  * max_blocking_time
46  * History : kind = KEEP_ALL | KEEP_LAST
47  * depth > 1
48  * RESOURCE_LIMITS : max_samples_per_instance
49  *
50  * Other than these supported qos, any qos that is different from the
51  * initial value is invalid.
52  *
53  * @note Since in the first implementation of DSS in TAO a limited
54  * number of QoS values are allowed to be modified, the
55  * consistency test on QoS settings have not been
56  * implemented to check future "valid" QoS values.
57  *
58  * @note None of the supported QoS in the first implementation are
59  * changeable. The changed value will be checked per the QoS
60  * table in the DDS specification.
61  */
63 public:
64 
65  static bool consistent(
66  const DDS::ResourceLimitsQosPolicy& resource_limits,
67  const DDS::HistoryQosPolicy& history);
68 
69  static bool consistent(
70  const DDS::DeadlineQosPolicy& deadline,
71  const DDS::TimeBasedFilterQosPolicy& time_based_filter);
72 
73  static bool consistent(const DDS::DomainParticipantQos& qos);
74 
75  static bool consistent(const DDS::TopicQos& qos);
76 
77  static bool consistent(const DDS::DataWriterQos& qos);
78 
79  static bool consistent(const DDS::PublisherQos& qos);
80 
81  static bool consistent(const DDS::DataReaderQos& qos);
82 
83  static bool consistent(const DDS::SubscriberQos& qos);
84 
85  static bool consistent(const DDS::DomainParticipantFactoryQos & qos);
86 
87  static bool valid(const DDS::UserDataQosPolicy& qos);
88 
89  static bool valid(const DDS::TopicDataQosPolicy & qos);
90 
91  static bool valid(const DDS::GroupDataQosPolicy& qos);
92 
93  static bool valid(const DDS::TransportPriorityQosPolicy& qos);
94 
95  static bool valid(const DDS::LifespanQosPolicy& qos);
96 
97  static bool valid(const DDS::DurabilityQosPolicy& qos);
98 
99 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE
100  static bool valid(const DDS::DurabilityServiceQosPolicy& qos);
101 #endif
102 
103  static bool valid(const DDS::PresentationQosPolicy& qos);
104 
105  static bool valid(const DDS::DeadlineQosPolicy& qos);
106 
107  static bool valid(const DDS::LatencyBudgetQosPolicy& qos);
108 
109  static bool valid(const DDS::OwnershipQosPolicy& qos);
110 
111 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE
112  static bool valid(const DDS::OwnershipStrengthQosPolicy& qos);
113 #endif
114 
115  static bool valid(const DDS::LivelinessQosPolicy& qos);
116 
117  static bool valid(const DDS::TimeBasedFilterQosPolicy& qos);
118 
119  static bool valid(const DDS::PartitionQosPolicy& qos);
120 
121  static bool valid(const DDS::ReliabilityQosPolicy& qos);
122 
123  static bool valid(const DDS::DestinationOrderQosPolicy& qos);
124 
125  static bool valid(const DDS::HistoryQosPolicy& qos);
126 
127  static bool valid(const DDS::ResourceLimitsQosPolicy& qos);
128 
129  static bool valid(const DDS::EntityFactoryQosPolicy& qos);
130 
131  static bool valid(const DDS::PropertyQosPolicy& qos);
132 
133  static bool valid(const DDS::WriterDataLifecycleQosPolicy& qos);
134 
135  static bool valid(const DDS::ReaderDataLifecycleQosPolicy& qos);
136 
137  static bool valid(const DDS::DomainParticipantQos& qos);
138 
139  static bool valid(const DDS::TopicQos& qos);
140 
141  static bool valid(const DDS::DataWriterQos& qos);
142 
143  static bool valid(const DDS::PublisherQos& qos);
144 
145  static bool valid(const DDS::DataReaderQos& qos);
146 
147  static bool valid(const DDS::SubscriberQos& qos);
148 
149  static bool valid(const DDS::DomainParticipantFactoryQos& qos);
150 
151  static bool valid(const DDS::DataRepresentationQosPolicy& qos);
152 
153  static bool changeable(const DDS::UserDataQosPolicy& qos1,
154  const DDS::UserDataQosPolicy& qos2);
155 
156  static bool changeable(const DDS::TopicDataQosPolicy & qos1,
157  const DDS::TopicDataQosPolicy & qos2);
158 
159  static bool changeable(const DDS::GroupDataQosPolicy& qos1,
160  const DDS::GroupDataQosPolicy& qos2);
161 
162  static bool changeable(const DDS::TransportPriorityQosPolicy& qos1,
163  const DDS::TransportPriorityQosPolicy& qos2);
164 
165  static bool changeable(const DDS::LifespanQosPolicy& qos1,
166  const DDS::LifespanQosPolicy& qos2);
167 
168  static bool changeable(const DDS::DurabilityQosPolicy& qos1,
169  const DDS::DurabilityQosPolicy& qos2);
170 
171 #ifndef OPENDDS_NO_PERSISTENCE_PROFILE
172  static bool changeable(const DDS::DurabilityServiceQosPolicy& qos1,
173  const DDS::DurabilityServiceQosPolicy& qos2);
174 #endif
175 
176  static bool changeable(const DDS::PresentationQosPolicy& qos1,
177  const DDS::PresentationQosPolicy& qos2);
178 
179  static bool changeable(const DDS::DeadlineQosPolicy& qos1,
180  const DDS::DeadlineQosPolicy& qos2);
181 
182  static bool changeable(const DDS::LatencyBudgetQosPolicy& qos1,
183  const DDS::LatencyBudgetQosPolicy& qos2);
184 
185  static bool changeable(const DDS::OwnershipQosPolicy& qos1,
186  const DDS::OwnershipQosPolicy& qos2);
187 
188 #ifndef OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE
189  static bool changeable(const DDS::OwnershipStrengthQosPolicy& qos1,
190  const DDS::OwnershipStrengthQosPolicy& qos2);
191 #endif
192 
193  static bool changeable(const DDS::LivelinessQosPolicy& qos1,
194  const DDS::LivelinessQosPolicy& qos2);
195 
196  static bool changeable(const DDS::TimeBasedFilterQosPolicy& qos1,
197  const DDS::TimeBasedFilterQosPolicy& qos2);
198 
199  static bool changeable(const DDS::PartitionQosPolicy& qos1,
200  const DDS::PartitionQosPolicy& qos2);
201 
202  static bool changeable(const DDS::ReliabilityQosPolicy& qos1,
203  const DDS::ReliabilityQosPolicy& qos2);
204 
205  static bool changeable(const DDS::DestinationOrderQosPolicy& qos1,
206  const DDS::DestinationOrderQosPolicy& qos2);
207 
208  static bool changeable(const DDS::HistoryQosPolicy& qos1,
209  const DDS::HistoryQosPolicy& qos2);
210 
211  static bool changeable(const DDS::ResourceLimitsQosPolicy& qos1,
212  const DDS::ResourceLimitsQosPolicy& qos2);
213 
214  static bool changeable(const DDS::EntityFactoryQosPolicy& qos1,
215  const DDS::EntityFactoryQosPolicy& qos2) ;
216 
217  static bool changeable(const DDS::WriterDataLifecycleQosPolicy& qos1,
219 
220  static bool changeable(const DDS::ReaderDataLifecycleQosPolicy& qos1,
222 
223  static bool changeable(const DDS::DomainParticipantQos& qos1,
224  const DDS::DomainParticipantQos& qos2);
225 
226  static bool changeable(const DDS::TopicQos& qos1,
227  const DDS::TopicQos& qos2);
228 
229  static bool changeable(const DDS::DataWriterQos& qos1,
230  const DDS::DataWriterQos& qos2);
231 
232  static bool changeable(const DDS::PublisherQos& qos1,
233  const DDS::PublisherQos& qos2);
234 
235  static bool changeable(const DDS::DataReaderQos& qos1,
236  const DDS::DataReaderQos& qos2);
237 
238  static bool changeable(const DDS::SubscriberQos& qos1,
239  const DDS::SubscriberQos& qos2);
240 
241  static bool changeable(const DDS::DomainParticipantFactoryQos& qos1,
243 
244  static bool changeable(
247 
248  static bool copy_from_topic_qos(DDS::DataReaderQos& a_datareader_qos,
249  const DDS::TopicQos& a_topic_qos);
250 
251  static bool copy_from_topic_qos(DDS::DataWriterQos& a_datareader_qos,
252  const DDS::TopicQos& a_topic_qos);
253 };
254 
255 #ifndef OPENDDS_SAFETY_PROFILE
257 bool operator==(const DDS::UserDataQosPolicy& qos1,
258  const DDS::UserDataQosPolicy& qos2);
259 
261 bool operator==(const DDS::TopicDataQosPolicy& qos1,
262  const DDS::TopicDataQosPolicy& qos2);
263 
265 bool operator==(const DDS::GroupDataQosPolicy& qos1,
266  const DDS::GroupDataQosPolicy& qos2);
267 
270  const DDS::TransportPriorityQosPolicy& qos2);
271 
273 bool operator==(const DDS::LifespanQosPolicy& qos1,
274  const DDS::LifespanQosPolicy& qos2);
275 
277 bool operator==(const DDS::DurabilityQosPolicy& qos1,
278  const DDS::DurabilityQosPolicy& qos2);
279 
282  const DDS::DurabilityServiceQosPolicy& qos2);
283 
285 bool operator==(const DDS::PresentationQosPolicy& qos1,
286  const DDS::PresentationQosPolicy& qos2);
287 
289 bool operator==(const DDS::DeadlineQosPolicy& qos1,
290  const DDS::DeadlineQosPolicy& qos2);
291 
293 bool operator==(const DDS::LatencyBudgetQosPolicy& qos1,
294  const DDS::LatencyBudgetQosPolicy& qos2);
295 
297 bool operator==(const DDS::OwnershipQosPolicy& qos1,
298  const DDS::OwnershipQosPolicy& qos2);
299 
302  const DDS::OwnershipStrengthQosPolicy& qos2);
303 
305 bool operator==(const DDS::LivelinessQosPolicy& qos1,
306  const DDS::LivelinessQosPolicy& qos2);
307 
310  const DDS::TimeBasedFilterQosPolicy& qos2);
311 
313 bool operator==(const DDS::PartitionQosPolicy& qos1,
314  const DDS::PartitionQosPolicy& qos2);
315 
317 bool operator==(const DDS::ReliabilityQosPolicy& qos1,
318  const DDS::ReliabilityQosPolicy& qos2);
319 
322  const DDS::DestinationOrderQosPolicy& qos2);
323 
325 bool operator==(const DDS::HistoryQosPolicy& qos1,
326  const DDS::HistoryQosPolicy& qos2);
327 
330  const DDS::ResourceLimitsQosPolicy& qos2);
331 
333 bool operator==(const DDS::EntityFactoryQosPolicy& qos1,
334  const DDS::EntityFactoryQosPolicy& qos2);
335 
339 
343 
345 bool operator==(const DDS::DomainParticipantQos& qos1,
346  const DDS::DomainParticipantQos& qos2);
347 
349 bool operator==(const DDS::TopicQos& qos1,
350  const DDS::TopicQos& qos2);
351 
353 bool operator==(const DDS::DataWriterQos& qos1,
354  const DDS::DataWriterQos& qos2);
355 
357 bool operator==(const DDS::PublisherQos& qos1,
358  const DDS::PublisherQos& qos2);
359 
361 bool operator==(const DDS::DataReaderQos& qos1,
362  const DDS::DataReaderQos& qos2);
363 
365 bool operator==(const DDS::SubscriberQos& qos1,
366  const DDS::SubscriberQos& qos2);
367 
371 
375 
379 
381 bool operator!=(const DDS::UserDataQosPolicy& qos1,
382  const DDS::UserDataQosPolicy& qos2);
383 
385 bool operator!=(const DDS::TopicDataQosPolicy& qos1,
386  const DDS::TopicDataQosPolicy& qos2);
387 
389 bool operator!=(const DDS::GroupDataQosPolicy& qos1,
390  const DDS::GroupDataQosPolicy& qos2);
391 
394  const DDS::TransportPriorityQosPolicy& qos2);
395 
397 bool operator!=(const DDS::LifespanQosPolicy& qos1,
398  const DDS::LifespanQosPolicy& qos2);
399 
401 bool operator!=(const DDS::DurabilityQosPolicy& qos1,
402  const DDS::DurabilityQosPolicy& qos2);
403 
406  const DDS::DurabilityServiceQosPolicy& qos2);
407 
409 bool operator!=(const DDS::PresentationQosPolicy& qos1,
410  const DDS::PresentationQosPolicy& qos2);
411 
413 bool operator!=(const DDS::DeadlineQosPolicy& qos1,
414  const DDS::DeadlineQosPolicy& qos2);
415 
417 bool operator!=(const DDS::LatencyBudgetQosPolicy& qos1,
418  const DDS::LatencyBudgetQosPolicy& qos2);
419 
421 bool operator!=(const DDS::OwnershipQosPolicy& qos1,
422  const DDS::OwnershipQosPolicy& qos2);
423 
426  const DDS::OwnershipStrengthQosPolicy& qos2);
427 
429 bool operator!=(const DDS::LivelinessQosPolicy& qos1,
430  const DDS::LivelinessQosPolicy& qos2);
431 
434  const DDS::TimeBasedFilterQosPolicy& qos2);
435 
437 bool operator!=(const DDS::PartitionQosPolicy& qos1,
438  const DDS::PartitionQosPolicy& qos2);
439 
441 bool operator!=(const DDS::ReliabilityQosPolicy& qos1,
442  const DDS::ReliabilityQosPolicy& qos2);
443 
446  const DDS::DestinationOrderQosPolicy& qos2);
447 
449 bool operator!=(const DDS::HistoryQosPolicy& qos1,
450  const DDS::HistoryQosPolicy& qos2);
451 
454  const DDS::ResourceLimitsQosPolicy& qos2);
455 
457 bool operator!=(const DDS::EntityFactoryQosPolicy& qos1,
458  const DDS::EntityFactoryQosPolicy& qos2);
459 
463 
467 
469 bool operator!=(const DDS::PropertyQosPolicy& qos1,
470  const DDS::PropertyQosPolicy& qos2);
471 
473 bool operator!=(const DDS::DomainParticipantQos& qos1,
474  const DDS::DomainParticipantQos& qos2);
475 
477 bool operator!=(const DDS::TopicQos& qos1,
478  const DDS::TopicQos& qos2);
479 
481 bool operator!=(const DDS::DataWriterQos& qos1,
482  const DDS::DataWriterQos& qos2);
483 
485 bool operator!=(const DDS::PublisherQos& qos1,
486  const DDS::PublisherQos& qos2);
487 
489 bool operator!=(const DDS::DataReaderQos& qos1,
490  const DDS::DataReaderQos& qos2);
491 
493 bool operator!=(const DDS::SubscriberQos& qos1,
494  const DDS::SubscriberQos& qos2);
495 
499 
503 
507 #endif
508 
510 public:
512  {
513  qos_.value = 0;
514  }
515 
516  const DDS::TransportPriorityQosPolicy& qos() const { return qos_; }
518  operator const DDS::TransportPriorityQosPolicy&() const { return qos_; }
519  operator DDS::TransportPriorityQosPolicy&() { return qos_; }
520 
522  {
523  qos_.value = value;
524  return *this;
525  }
526 
527 private:
529 };
530 
532 public:
534  {
535  qos_.duration.sec = DDS::DURATION_INFINITE_SEC;
536  qos_.duration.nanosec = DDS::DURATION_INFINITE_NSEC;
537  }
538 
539  const DDS::LifespanQosPolicy& qos() const { return qos_; }
540  DDS::LifespanQosPolicy& qos() { return qos_; }
541  operator const DDS::LifespanQosPolicy&() const { return qos_; }
542  operator DDS::LifespanQosPolicy&() { return qos_; }
543 
545  {
546  qos_.duration = duration;
547  return *this;
548  }
549 
550 private:
552 };
553 
555 public:
557  {
558  qos_.kind = DDS::VOLATILE_DURABILITY_QOS;
559  }
560 
561  const DDS::DurabilityQosPolicy& qos() const { return qos_; }
562  DDS::DurabilityQosPolicy& qos() { return qos_; }
563  operator const DDS::DurabilityQosPolicy&() const { return qos_; }
564  operator DDS::DurabilityQosPolicy&() { return qos_; }
565 
567  {
568  qos_.kind = kind;
569  return *this;
570  }
571 
573  {
575  return *this;
576  }
577 
579  {
581  return *this;
582  }
583 
585  {
587  return *this;
588  }
589 
591  {
593  return *this;
594  }
595 
596 private:
598 };
599 
601 public:
603  {
604  qos_.service_cleanup_delay.sec = DDS::DURATION_ZERO_SEC;
605  qos_.service_cleanup_delay.nanosec = DDS::DURATION_ZERO_NSEC;
606  qos_.history_kind = DDS::KEEP_LAST_HISTORY_QOS;
607  qos_.history_depth = 1;
608  qos_.max_samples = DDS::LENGTH_UNLIMITED;
609  qos_.max_instances = DDS::LENGTH_UNLIMITED;
610  qos_.max_samples_per_instance = DDS::LENGTH_UNLIMITED;
611  }
612 
613  const DDS::DurabilityServiceQosPolicy& qos() const { return qos_; }
615  operator const DDS::DurabilityServiceQosPolicy&() const { return qos_; }
616  operator DDS::DurabilityServiceQosPolicy&() { return qos_; }
617 
619  {
620  qos_.service_cleanup_delay = delay;
621  return *this;
622  }
623 
625  {
626  qos_.history_kind = kind;
627  return *this;
628  }
629 
631  {
633  qos_.history_depth = depth;
634  return *this;
635  }
636 
638  {
640  return *this;
641  }
642 
644  {
645  qos_.history_depth = depth;
646  return *this;
647  }
648 
650  {
651  qos_.max_samples = value;
652  return *this;
653  }
654 
656  {
657  qos_.max_instances = value;
658  return *this;
659  }
660 
662  {
664  return *this;
665  }
666 
667 private:
669 };
670 
672 public:
674  {
675  qos_.period.sec = DDS::DURATION_INFINITE_SEC;
676  qos_.period.nanosec = DDS::DURATION_INFINITE_NSEC;
677  }
678 
679  const DDS::DeadlineQosPolicy& qos() const { return qos_; }
680  DDS::DeadlineQosPolicy& qos() { return qos_; }
681  operator const DDS::DeadlineQosPolicy&() const { return qos_; }
682  operator DDS::DeadlineQosPolicy&() { return qos_; }
683 
685  {
686  qos_.period = period;
687  return *this;
688  }
689 
690 private:
692 };
693 
695 public:
697  {
698  qos_.duration.sec = DDS::DURATION_ZERO_SEC;
699  qos_.duration.nanosec = DDS::DURATION_ZERO_NSEC;
700  }
701 
702  const DDS::LatencyBudgetQosPolicy& qos() const { return qos_; }
703  DDS::LatencyBudgetQosPolicy& qos() { return qos_; }
704  operator const DDS::LatencyBudgetQosPolicy&() const { return qos_; }
705  operator DDS::LatencyBudgetQosPolicy&() { return qos_; }
706 
708  {
709  qos_.duration = duration;
710  return *this;
711  }
712 
713 private:
715 };
716 
718 public:
720  {
721  qos_.kind = DDS::SHARED_OWNERSHIP_QOS;
722  }
723 
724  const DDS::OwnershipQosPolicy& qos() const { return qos_; }
725  DDS::OwnershipQosPolicy& qos() { return qos_; }
726  operator const DDS::OwnershipQosPolicy&() const { return qos_; }
727  operator DDS::OwnershipQosPolicy&() { return qos_; }
728 
730  {
731  qos_.kind = kind;
732  return *this;
733  }
734 
736  {
738  return *this;
739  }
740 
742  {
744  return *this;
745  }
746 
747 private:
749 };
750 
752 public:
754  {
755  qos_.value = 0;
756  }
757 
758  const DDS::OwnershipStrengthQosPolicy& qos() const { return qos_; }
760  operator const DDS::OwnershipStrengthQosPolicy&() const { return qos_; }
761  operator DDS::OwnershipStrengthQosPolicy&() { return qos_; }
762 
764  {
765  qos_.value = value;
766  return *this;
767  }
768 
769 private:
771 };
772 
774 public:
776  {
777  qos_.kind = DDS::AUTOMATIC_LIVELINESS_QOS;
778  qos_.lease_duration.sec = DDS::DURATION_INFINITE_SEC;
779  qos_.lease_duration.nanosec = DDS::DURATION_INFINITE_NSEC;
780  }
781 
782  const DDS::LivelinessQosPolicy& qos() const { return qos_; }
783  DDS::LivelinessQosPolicy& qos() { return qos_; }
784  operator const DDS::LivelinessQosPolicy&() const { return qos_; }
785  operator DDS::LivelinessQosPolicy&() { return qos_; }
786 
788  {
789  qos_.kind = kind;
790  return *this;
791  }
792 
794  {
796  return *this;
797  }
798 
800  {
802  return *this;
803  }
804 
806  {
808  return *this;
809  }
810 
812  {
813  qos_.lease_duration = duration;
814  return *this;
815  }
816 
817 private:
819 };
820 
822 public:
824  {
825  qos_.minimum_separation.sec = DDS::DURATION_ZERO_SEC;
826  qos_.minimum_separation.nanosec = DDS::DURATION_ZERO_NSEC;
827  }
828 
829  const DDS::TimeBasedFilterQosPolicy& qos() const { return qos_; }
830  DDS::TimeBasedFilterQosPolicy& qos() { return qos_; }
831  operator const DDS::TimeBasedFilterQosPolicy&() const { return qos_; }
832  operator DDS::TimeBasedFilterQosPolicy&() { return qos_; }
833 
835  {
836  qos_.minimum_separation = duration;
837  return *this;
838  }
839 
840 private:
842 };
843 
845 public:
847  {
849  // TODO: According to the spec, this should be:
850  // qos_.max_blocking_time.sec = 0;
851  // qos_.max_blocking_time.nanosec = 100000000;
852  // Change this at the next major release.
853  qos_.max_blocking_time.sec = DDS::DURATION_INFINITE_SEC;
854  qos_.max_blocking_time.nanosec = DDS::DURATION_INFINITE_NSEC;
855  }
856 
857  const DDS::ReliabilityQosPolicy& qos() const { return qos_; }
858  DDS::ReliabilityQosPolicy& qos() { return qos_; }
859  operator const DDS::ReliabilityQosPolicy&() const { return qos_; }
860  operator DDS::ReliabilityQosPolicy&() { return qos_; }
861 
863  {
864  qos_.kind = kind;
865  return *this;
866  }
867 
869  {
871  return *this;
872  }
873 
875  {
877  return *this;
878  }
879 
881  {
882  qos_.max_blocking_time = duration;
883  return *this;
884  }
885 
886 private:
888 };
889 
891 public:
893  {
895  }
896 
897  const DDS::DestinationOrderQosPolicy& qos() const { return qos_; }
899  operator const DDS::DestinationOrderQosPolicy&() const { return qos_; }
900  operator DDS::DestinationOrderQosPolicy&() { return qos_; }
901 
903  {
904  qos_.kind = kind;
905  return *this;
906  }
907 
909  {
911  return *this;
912  }
913 
915  {
917  return *this;
918  }
919 
920 private:
922 };
923 
925 public:
927  {
928  qos_.kind = DDS::KEEP_LAST_HISTORY_QOS;
929  qos_.depth = 1;
930  }
931 
932  const DDS::HistoryQosPolicy& qos() const { return qos_; }
933  DDS::HistoryQosPolicy& qos() { return qos_; }
934  operator const DDS::HistoryQosPolicy&() const { return qos_; }
935  operator DDS::HistoryQosPolicy&() { return qos_; }
936 
938  {
939  qos_.kind = kind;
940  return *this;
941  }
942 
944  {
946  qos_.depth = depth;
947  return *this;
948  }
949 
951  {
953  return *this;
954  }
955 
957  {
958  qos_.depth = depth;
959  return *this;
960  }
961 
962 private:
964 };
965 
967 public:
969  {
970  qos_.max_samples = DDS::LENGTH_UNLIMITED;
971  qos_.max_instances = DDS::LENGTH_UNLIMITED;
972  qos_.max_samples_per_instance = DDS::LENGTH_UNLIMITED;
973  }
974 
975  const DDS::ResourceLimitsQosPolicy& qos() const { return qos_; }
976  DDS::ResourceLimitsQosPolicy& qos() { return qos_; }
977  operator const DDS::ResourceLimitsQosPolicy&() const { return qos_; }
978  operator DDS::ResourceLimitsQosPolicy&() { return qos_; }
979 
981  {
982  qos_.max_samples = value;
983  return *this;
984  }
985 
987  {
988  qos_.max_instances = value;
989  return *this;
990  }
991 
993  {
995  return *this;
996  }
997 
998 private:
1000 };
1001 
1003 public:
1005  {
1006  qos_.autodispose_unregistered_instances = true;
1007  }
1008 
1009  const DDS::WriterDataLifecycleQosPolicy& qos() const { return qos_; }
1011  operator const DDS::WriterDataLifecycleQosPolicy&() const { return qos_; }
1012  operator DDS::WriterDataLifecycleQosPolicy&() { return qos_; }
1013 
1015  {
1017  return *this;
1018  }
1019 
1020 private:
1022 };
1023 
1025 public:
1027  {
1028  qos_.autopurge_nowriter_samples_delay.sec = DDS::DURATION_INFINITE_SEC;
1029  qos_.autopurge_nowriter_samples_delay.nanosec = DDS::DURATION_INFINITE_NSEC;
1030  qos_.autopurge_disposed_samples_delay.sec = DDS::DURATION_INFINITE_SEC;
1031  qos_.autopurge_disposed_samples_delay.nanosec = DDS::DURATION_INFINITE_NSEC;
1032  }
1033 
1034  const DDS::ReaderDataLifecycleQosPolicy& qos() const { return qos_; }
1036  operator const DDS::ReaderDataLifecycleQosPolicy&() const { return qos_; }
1037  operator DDS::ReaderDataLifecycleQosPolicy&() { return qos_; }
1038 
1040  {
1041  qos_.autopurge_nowriter_samples_delay = duration;
1042  return *this;
1043  }
1044 
1046  {
1047  qos_.autopurge_disposed_samples_delay = duration;
1048  return *this;
1049  }
1050 
1051 private:
1053 };
1054 
1056 public:
1058  {
1059  qos_.kind = DDS::ALLOW_TYPE_COERCION;
1060  qos_.ignore_sequence_bounds = true;
1061  qos_.ignore_string_bounds = true;
1062  qos_.ignore_member_names = false;
1063  qos_.prevent_type_widening = false;
1064  qos_.force_type_validation = false;
1065  }
1066 
1067  const DDS::TypeConsistencyEnforcementQosPolicy& qos() const { return qos_; }
1069  operator const DDS::TypeConsistencyEnforcementQosPolicy&() const { return qos_; }
1070  operator DDS::TypeConsistencyEnforcementQosPolicy&() { return qos_; }
1071 
1073  {
1074  qos_.kind = kind;
1075  return *this;
1076  }
1077 
1079  {
1081  return *this;
1082  }
1083 
1085  {
1087  return *this;
1088  }
1089 
1091  {
1093  return *this;
1094  }
1095 
1097  {
1098  qos_.ignore_string_bounds = value;
1099  return *this;
1100  }
1101 
1103  {
1104  qos_.ignore_member_names = value;
1105  return *this;
1106  }
1107 
1109  {
1111  return *this;
1112  }
1113 
1115  {
1117  return *this;
1118  }
1119 
1120 private:
1122 };
1123 
1125 public:
1127  {
1128  // topic_data
1129  qos_.durability = DurabilityQosPolicyBuilder();
1130  qos_.durability_service = DurabilityServiceQosPolicyBuilder();
1131  qos_.deadline = DeadlineQosPolicyBuilder();
1132  qos_.latency_budget = LatencyBudgetQosPolicyBuilder();
1133  qos_.liveliness = LivelinessQosPolicyBuilder();
1134  qos_.reliability = ReliabilityQosPolicyBuilder();
1135  qos_.destination_order = DestinationOrderQosPolicyBuilder();
1136  qos_.history = HistoryQosPolicyBuilder();
1137  qos_.resource_limits = ResourceLimitsQosPolicyBuilder();
1138  qos_.transport_priority = TransportPriorityQosPolicyBuilder();
1139  qos_.lifespan = LifespanQosPolicyBuilder();
1140  qos_.ownership = OwnershipQosPolicyBuilder();
1141  // representation
1142  }
1143 
1144  const DDS::TopicQos& qos() const { return qos_; }
1145  DDS::TopicQos& qos() { return qos_; }
1146  operator const DDS::TopicQos&() const { return qos_; }
1147  operator DDS::TopicQos&() { return qos_; }
1148 
1150  {
1151  qos_.topic_data.value = value;
1152  return *this;
1153  }
1154 
1156  {
1157  qos_.durability.kind = kind;
1158  return *this;
1159  }
1160 
1162  {
1163  qos_.durability.kind = DDS::VOLATILE_DURABILITY_QOS;
1164  return *this;
1165  }
1166 
1168  {
1169  qos_.durability.kind = DDS::TRANSIENT_LOCAL_DURABILITY_QOS;
1170  return *this;
1171  }
1172 
1174  {
1175  qos_.durability.kind = DDS::TRANSIENT_DURABILITY_QOS;
1176  return *this;
1177  }
1178 
1180  {
1181  qos_.durability.kind = DDS::PERSISTENT_DURABILITY_QOS;
1182  return *this;
1183  }
1184 
1186  {
1187  qos_.durability_service.service_cleanup_delay = delay;
1188  return *this;
1189  }
1190 
1192  {
1193  qos_.durability_service.history_kind = kind;
1194  return *this;
1195  }
1196 
1198  {
1199  qos_.durability_service.history_kind = DDS::KEEP_LAST_HISTORY_QOS;
1200  qos_.durability_service.history_depth = depth;
1201  return *this;
1202  }
1203 
1205  {
1206  qos_.durability_service.history_kind = DDS::KEEP_ALL_HISTORY_QOS;
1207  return *this;
1208  }
1209 
1211  {
1212  qos_.durability_service.history_depth = depth;
1213  return *this;
1214  }
1215 
1217  {
1218  qos_.durability_service.max_samples = value;
1219  return *this;
1220  }
1221 
1223  {
1224  qos_.durability_service.max_instances = value;
1225  return *this;
1226  }
1227 
1229  {
1230  qos_.durability_service.max_samples_per_instance = value;
1231  return *this;
1232  }
1233 
1235  {
1236  qos_.deadline.period = duration;
1237  return *this;
1238  }
1239 
1241  {
1242  qos_.latency_budget.duration = duration;
1243  return *this;
1244  }
1245 
1247  {
1248  qos_.liveliness.kind = kind;
1249  return *this;
1250  }
1251 
1253  {
1254  qos_.liveliness.kind = DDS::AUTOMATIC_LIVELINESS_QOS;
1255  return *this;
1256  }
1257 
1259  {
1260  qos_.liveliness.kind = DDS::MANUAL_BY_PARTICIPANT_LIVELINESS_QOS;
1261  return *this;
1262  }
1263 
1265  {
1266  qos_.liveliness.kind = DDS::MANUAL_BY_TOPIC_LIVELINESS_QOS;
1267  return *this;
1268  }
1269 
1271  {
1272  qos_.liveliness.lease_duration = duration;
1273  return *this;
1274  }
1275 
1277  {
1278  qos_.reliability.kind = kind;
1279  return *this;
1280  }
1281 
1283  {
1284  qos_.reliability.kind = DDS::BEST_EFFORT_RELIABILITY_QOS;
1285  return *this;
1286  }
1287 
1289  {
1290  qos_.reliability.kind = DDS::RELIABLE_RELIABILITY_QOS;
1291  return *this;
1292  }
1293 
1295  {
1296  qos_.reliability.max_blocking_time = duration;
1297  return *this;
1298  }
1299 
1301  {
1302  qos_.destination_order.kind = kind;
1303  return *this;
1304  }
1305 
1307  {
1308  qos_.destination_order.kind = DDS::BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS;
1309  return *this;
1310  }
1311 
1313  {
1314  qos_.destination_order.kind = DDS::BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS;
1315  return *this;
1316  }
1317 
1319  {
1320  qos_.history.kind = kind;
1321  return *this;
1322  }
1323 
1325  {
1326  qos_.history.kind = DDS::KEEP_LAST_HISTORY_QOS;
1327  qos_.history.depth = depth;
1328  return *this;
1329  }
1330 
1332  {
1333  qos_.history.kind = DDS::KEEP_ALL_HISTORY_QOS;
1334  return *this;
1335  }
1336 
1338  {
1339  qos_.history.depth = depth;
1340  return *this;
1341  }
1342 
1344  {
1345  qos_.resource_limits.max_samples = value;
1346  return *this;
1347  }
1348 
1350  {
1351  qos_.resource_limits.max_instances = value;
1352  return *this;
1353  }
1354 
1356  {
1357  qos_.resource_limits.max_samples_per_instance = value;
1358  return *this;
1359  }
1360 
1362  {
1363  qos_.transport_priority.value = value;
1364  return *this;
1365  }
1366 
1368  {
1369  qos_.lifespan.duration = duration;
1370  return *this;
1371  }
1372 
1374  {
1375  qos_.ownership.kind = kind;
1376  return *this;
1377  }
1378 
1380  {
1381  qos_.ownership.kind = DDS::SHARED_OWNERSHIP_QOS;
1382  return *this;
1383  }
1384 
1386  {
1387  qos_.ownership.kind = DDS::EXCLUSIVE_OWNERSHIP_QOS;
1388  return *this;
1389  }
1390 
1391 private:
1393 };
1394 
1396 public:
1398  {
1399  qos_.durability = DurabilityQosPolicyBuilder();
1400  qos_.durability_service = DurabilityServiceQosPolicyBuilder();
1401  qos_.deadline = DeadlineQosPolicyBuilder();
1402  qos_.latency_budget = LatencyBudgetQosPolicyBuilder();
1403  qos_.liveliness = LivelinessQosPolicyBuilder();
1404  qos_.reliability = ReliabilityQosPolicyBuilder().reliable().max_blocking_time(make_duration_t(0, 100000000));
1405  qos_.destination_order = DestinationOrderQosPolicyBuilder();
1406  qos_.history = HistoryQosPolicyBuilder();
1407  qos_.resource_limits = ResourceLimitsQosPolicyBuilder();
1408  qos_.transport_priority = TransportPriorityQosPolicyBuilder();
1409  qos_.lifespan = LifespanQosPolicyBuilder();
1410  // userdata
1411  qos_.ownership = OwnershipQosPolicyBuilder();
1412  qos_.ownership_strength = OwnershipStrengthQosPolicyBuilder();
1413  qos_.writer_data_lifecycle = WriterDataLifecycleQosPolicyBuilder();
1414  // representation
1415  }
1416 
1417  explicit DataWriterQosBuilder(DDS::Publisher_var publisher);
1418 
1419  DataWriterQosBuilder(DDS::Topic_var topic,
1420  DDS::Publisher_var publisher);
1421 
1422  const DDS::DataWriterQos& qos() const { return qos_; }
1423  DDS::DataWriterQos& qos() { return qos_; }
1424  operator const DDS::DataWriterQos&() const { return qos_; }
1425  operator DDS::DataWriterQos&() { return qos_; }
1426 
1427  bool operator==(const DataWriterQosBuilder& other) const
1428  {
1429  return qos_ == other.qos_;
1430  }
1431 
1432  bool operator!=(const DataWriterQosBuilder& other) const
1433  {
1434  return !(*this == other);
1435  }
1436 
1438  {
1439  qos_.durability.kind = kind;
1440  return *this;
1441  }
1442 
1444  {
1445  qos_.durability.kind = DDS::VOLATILE_DURABILITY_QOS;
1446  return *this;
1447  }
1448 
1450  {
1451  qos_.durability.kind = DDS::TRANSIENT_LOCAL_DURABILITY_QOS;
1452  return *this;
1453  }
1454 
1456  {
1457  qos_.durability.kind = DDS::TRANSIENT_DURABILITY_QOS;
1458  return *this;
1459  }
1460 
1462  {
1463  qos_.durability.kind = DDS::PERSISTENT_DURABILITY_QOS;
1464  return *this;
1465  }
1466 
1468  {
1469  qos_.durability_service.service_cleanup_delay = delay;
1470  return *this;
1471  }
1472 
1474  {
1475  qos_.durability_service.history_kind = kind;
1476  return *this;
1477  }
1478 
1480  {
1481  qos_.durability_service.history_kind = DDS::KEEP_LAST_HISTORY_QOS;
1482  qos_.durability_service.history_depth = depth;
1483  return *this;
1484  }
1485 
1487  {
1488  qos_.durability_service.history_kind = DDS::KEEP_ALL_HISTORY_QOS;
1489  return *this;
1490  }
1491 
1493  {
1494  qos_.durability_service.history_depth = depth;
1495  return *this;
1496  }
1497 
1499  {
1500  qos_.durability_service.max_samples = value;
1501  return *this;
1502  }
1503 
1505  {
1506  qos_.durability_service.max_instances = value;
1507  return *this;
1508  }
1509 
1511  {
1512  qos_.durability_service.max_samples_per_instance = value;
1513  return *this;
1514  }
1515 
1517  {
1518  qos_.deadline.period = duration;
1519  return *this;
1520  }
1521 
1523  {
1524  qos_.latency_budget.duration = duration;
1525  return *this;
1526  }
1527 
1529  {
1530  qos_.liveliness.kind = kind;
1531  return *this;
1532  }
1533 
1535  {
1536  qos_.liveliness.kind = DDS::AUTOMATIC_LIVELINESS_QOS;
1537  return *this;
1538  }
1539 
1541  {
1542  qos_.liveliness.kind = DDS::MANUAL_BY_PARTICIPANT_LIVELINESS_QOS;
1543  return *this;
1544  }
1545 
1547  {
1548  qos_.liveliness.kind = DDS::MANUAL_BY_TOPIC_LIVELINESS_QOS;
1549  return *this;
1550  }
1551 
1553  {
1554  qos_.liveliness.lease_duration = duration;
1555  return *this;
1556  }
1557 
1559  {
1560  qos_.reliability.kind = kind;
1561  return *this;
1562  }
1563 
1565  {
1566  qos_.reliability.kind = DDS::BEST_EFFORT_RELIABILITY_QOS;
1567  return *this;
1568  }
1569 
1571  {
1572  qos_.reliability.kind = DDS::RELIABLE_RELIABILITY_QOS;
1573  return *this;
1574  }
1575 
1577  {
1578  qos_.reliability.max_blocking_time = duration;
1579  return *this;
1580  }
1581 
1583  {
1584  qos_.destination_order.kind = kind;
1585  return *this;
1586  }
1587 
1589  {
1590  qos_.destination_order.kind = DDS::BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS;
1591  return *this;
1592  }
1593 
1595  {
1596  qos_.destination_order.kind = DDS::BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS;
1597  return *this;
1598  }
1599 
1601  {
1602  qos_.history.kind = kind;
1603  return *this;
1604  }
1605 
1607  {
1608  qos_.history.kind = DDS::KEEP_LAST_HISTORY_QOS;
1609  qos_.history.depth = depth;
1610  return *this;
1611  }
1612 
1614  {
1615  qos_.history.kind = DDS::KEEP_ALL_HISTORY_QOS;
1616  return *this;
1617  }
1618 
1620  {
1621  qos_.history.depth = depth;
1622  return *this;
1623  }
1624 
1626  {
1627  qos_.resource_limits.max_samples = value;
1628  return *this;
1629  }
1630 
1632  {
1633  qos_.resource_limits.max_instances = value;
1634  return *this;
1635  }
1636 
1638  {
1639  qos_.resource_limits.max_samples_per_instance = value;
1640  return *this;
1641  }
1642 
1644  {
1645  qos_.transport_priority.value = value;
1646  return *this;
1647  }
1648 
1650  {
1651  qos_.lifespan.duration = duration;
1652  return *this;
1653  }
1654 
1656  {
1657  qos_.user_data.value = value;
1658  return *this;
1659  }
1660 
1662  {
1663  qos_.ownership.kind = kind;
1664  return *this;
1665  }
1666 
1668  {
1669  qos_.ownership.kind = DDS::SHARED_OWNERSHIP_QOS;
1670  return *this;
1671  }
1672 
1674  {
1675  qos_.ownership.kind = DDS::EXCLUSIVE_OWNERSHIP_QOS;
1676  return *this;
1677  }
1678 
1680  {
1681  qos_.ownership_strength.value = value;
1682  return *this;
1683  }
1684 
1686  {
1687  qos_.writer_data_lifecycle.autodispose_unregistered_instances = value;
1688  return *this;
1689  }
1690 
1691 private:
1693 };
1694 
1696 public:
1698  {
1699  qos_.durability = DurabilityQosPolicyBuilder();
1700  qos_.deadline = DeadlineQosPolicyBuilder();
1701  qos_.latency_budget = LatencyBudgetQosPolicyBuilder();
1702  qos_.liveliness = LivelinessQosPolicyBuilder();
1703  qos_.reliability = ReliabilityQosPolicyBuilder();
1704  qos_.destination_order = DestinationOrderQosPolicyBuilder();
1705  qos_.history = HistoryQosPolicyBuilder();
1706  qos_.resource_limits = ResourceLimitsQosPolicyBuilder();
1707  // userdata
1708  qos_.ownership = OwnershipQosPolicyBuilder();
1709  qos_.time_based_filter = TimeBasedFilterQosPolicyBuilder();
1710  qos_.reader_data_lifecycle = ReaderDataLifecycleQosPolicyBuilder();
1711  // representation
1712  qos_.type_consistency = TypeConsistencyEnforcementQosPolicyBuilder();
1713  }
1714 
1715  explicit DataReaderQosBuilder(DDS::Subscriber_var subscriber);
1716 
1717  DataReaderQosBuilder(DDS::Topic_var topic,
1718  DDS::Subscriber_var subscriber);
1719 
1720  const DDS::DataReaderQos& qos() const { return qos_; }
1721  DDS::DataReaderQos& qos() { return qos_; }
1722  operator const DDS::DataReaderQos&() const { return qos_; }
1723  operator DDS::DataReaderQos&() { return qos_; }
1724 
1725  bool operator==(const DataReaderQosBuilder& other) const
1726  {
1727  return qos_ == other.qos_;
1728  }
1729 
1730  bool operator!=(const DataReaderQosBuilder& other) const
1731  {
1732  return !(*this == other);
1733  }
1734 
1736  {
1737  qos_.durability.kind = kind;
1738  return *this;
1739  }
1740 
1742  {
1743  qos_.durability.kind = DDS::VOLATILE_DURABILITY_QOS;
1744  return *this;
1745  }
1746 
1748  {
1749  qos_.durability.kind = DDS::TRANSIENT_LOCAL_DURABILITY_QOS;
1750  return *this;
1751  }
1752 
1754  {
1755  qos_.durability.kind = DDS::TRANSIENT_DURABILITY_QOS;
1756  return *this;
1757  }
1758 
1760  {
1761  qos_.durability.kind = DDS::PERSISTENT_DURABILITY_QOS;
1762  return *this;
1763  }
1764 
1766  {
1767  qos_.deadline.period = duration;
1768  return *this;
1769  }
1770 
1772  {
1773  qos_.latency_budget.duration = duration;
1774  return *this;
1775  }
1776 
1778  {
1779  qos_.liveliness.kind = kind;
1780  return *this;
1781  }
1782 
1784  {
1785  qos_.liveliness.kind = DDS::AUTOMATIC_LIVELINESS_QOS;
1786  return *this;
1787  }
1788 
1790  {
1791  qos_.liveliness.kind = DDS::MANUAL_BY_PARTICIPANT_LIVELINESS_QOS;
1792  return *this;
1793  }
1794 
1796  {
1797  qos_.liveliness.kind = DDS::MANUAL_BY_TOPIC_LIVELINESS_QOS;
1798  return *this;
1799  }
1800 
1802  {
1803  qos_.liveliness.lease_duration = duration;
1804  return *this;
1805  }
1806 
1808  {
1809  qos_.reliability.kind = kind;
1810  return *this;
1811  }
1812 
1814  {
1815  qos_.reliability.kind = DDS::BEST_EFFORT_RELIABILITY_QOS;
1816  return *this;
1817  }
1818 
1820  {
1821  qos_.reliability.kind = DDS::RELIABLE_RELIABILITY_QOS;
1822  return *this;
1823  }
1824 
1826  {
1827  qos_.reliability.max_blocking_time = duration;
1828  return *this;
1829  }
1830 
1832  {
1833  qos_.destination_order.kind = kind;
1834  return *this;
1835  }
1836 
1838  {
1839  qos_.destination_order.kind = DDS::BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS;
1840  return *this;
1841  }
1842 
1844  {
1845  qos_.destination_order.kind = DDS::BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS;
1846  return *this;
1847  }
1848 
1850  {
1851  qos_.history.kind = kind;
1852  return *this;
1853  }
1854 
1856  {
1857  qos_.history.kind = DDS::KEEP_LAST_HISTORY_QOS;
1858  qos_.history.depth = depth;
1859  return *this;
1860  }
1861 
1863  {
1864  qos_.history.kind = DDS::KEEP_ALL_HISTORY_QOS;
1865  return *this;
1866  }
1867 
1869  {
1870  qos_.history.depth = depth;
1871  return *this;
1872  }
1873 
1875  {
1876  qos_.resource_limits.max_samples = value;
1877  return *this;
1878  }
1879 
1881  {
1882  qos_.resource_limits.max_instances = value;
1883  return *this;
1884  }
1885 
1887  {
1888  qos_.resource_limits.max_samples_per_instance = value;
1889  return *this;
1890  }
1891 
1893  {
1894  qos_.user_data.value = value;
1895  return *this;
1896  }
1897 
1899  {
1900  qos_.ownership.kind = kind;
1901  return *this;
1902  }
1903 
1905  {
1906  qos_.ownership.kind = DDS::SHARED_OWNERSHIP_QOS;
1907  return *this;
1908  }
1909 
1911  {
1912  qos_.ownership.kind = DDS::EXCLUSIVE_OWNERSHIP_QOS;
1913  return *this;
1914  }
1915 
1917  {
1918  qos_.time_based_filter.minimum_separation = duration;
1919  return *this;
1920  }
1921 
1923  {
1924  qos_.reader_data_lifecycle.autopurge_nowriter_samples_delay = duration;
1925  return *this;
1926  }
1927 
1929  {
1930  qos_.reader_data_lifecycle.autopurge_disposed_samples_delay = duration;
1931  return *this;
1932  }
1933 
1935  {
1936  qos_.type_consistency.kind = kind;
1937  return *this;
1938  }
1939 
1941  {
1942  qos_.type_consistency.kind = DDS::DISALLOW_TYPE_COERCION;
1943  return *this;
1944  }
1945 
1947  {
1948  qos_.type_consistency.kind = DDS::ALLOW_TYPE_COERCION;
1949  return *this;
1950  }
1951 
1953  {
1954  qos_.type_consistency.ignore_sequence_bounds = value;
1955  return *this;
1956  }
1957 
1959  {
1960  qos_.type_consistency.ignore_string_bounds = value;
1961  return *this;
1962  }
1963 
1965  {
1966  qos_.type_consistency.ignore_member_names = value;
1967  return *this;
1968  }
1969 
1971  {
1972  qos_.type_consistency.prevent_type_widening = value;
1973  return *this;
1974  }
1975 
1977  {
1978  qos_.type_consistency.force_type_validation = value;
1979  return *this;
1980  }
1981 
1982 private:
1984 };
1985 
1986 } // namespace DCPS
1987 } // namespace OpenDDS
1988 
1990 
1991 #if defined(__ACE_INLINE__)
1992 #include "Qos_Helper.inl"
1993 #endif /* __ACE_INLINE__ */
1994 
1995 #endif /* OPENDDS_DCPS_QOS_HELPER_H */
DDS::DurabilityServiceQosPolicy qos_
Definition: Qos_Helper.h:668
TypeConsistencyEnforcementQosPolicyBuilder & kind(DDS::TypeConsistencyEnforcementQosPolicyKind_t kind)
Definition: Qos_Helper.h:1072
TopicQosBuilder & destination_order_by_reception_timestamp()
Definition: Qos_Helper.h:1306
DestinationOrderQosPolicyKind
DDS::HistoryQosPolicy & qos()
Definition: Qos_Helper.h:933
DataWriterQosBuilder & destination_order_by_reception_timestamp()
Definition: Qos_Helper.h:1588
LivelinessQosPolicyBuilder & manual_by_topic()
Definition: Qos_Helper.h:805
DataReaderQosBuilder & type_consistency_disallow_type_coercion()
Definition: Qos_Helper.h:1940
ReaderDataLifecycleQosPolicyBuilder & autopurge_nowriter_samples_delay(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1039
DataReaderQosBuilder & resource_limits_max_samples(int value)
Definition: Qos_Helper.h:1874
const DDS::DurabilityQosPolicy & qos() const
Definition: Qos_Helper.h:561
const LogLevel::Value value
Definition: debug.cpp:61
DataWriterQosBuilder & reliability_best_effort()
Definition: Qos_Helper.h:1564
OwnershipStrengthQosPolicyBuilder & value(int value)
Definition: Qos_Helper.h:763
DataReaderQosBuilder & liveliness_kind(DDS::LivelinessQosPolicyKind kind)
Definition: Qos_Helper.h:1777
TopicQosBuilder & history_keep_all()
Definition: Qos_Helper.h:1331
TopicQosBuilder & topic_data_value(const DDS::OctetSeq &value)
Definition: Qos_Helper.h:1149
TopicQosBuilder & history_keep_last(int depth)
Definition: Qos_Helper.h:1324
DataReaderQosBuilder & type_consistency_kind(DDS::TypeConsistencyEnforcementQosPolicyKind_t kind)
Definition: Qos_Helper.h:1934
WriterDataLifecycleQosPolicyBuilder & autodispose_unregistered_instances(bool value)
Definition: Qos_Helper.h:1014
TopicQosBuilder & resource_limits_max_samples(int value)
Definition: Qos_Helper.h:1343
TopicQosBuilder & durability_service_service_cleanup_delay(const DDS::Duration_t &delay)
Definition: Qos_Helper.h:1185
DDS::DeadlineQosPolicy & qos()
Definition: Qos_Helper.h:680
const long DURATION_INFINITE_SEC
Definition: DdsDcpsCore.idl:72
DataReaderQosBuilder & type_consistency_ignore_member_names(bool value)
Definition: Qos_Helper.h:1964
LivelinessQosPolicyBuilder & manual_by_participant()
Definition: Qos_Helper.h:799
#define OpenDDS_Dcps_Export
Definition: dcps_export.h:24
DataWriterQosBuilder & resource_limits_max_instances(int value)
Definition: Qos_Helper.h:1631
DurabilityServiceQosPolicyBuilder & keep_last(int depth)
Definition: Qos_Helper.h:630
DataReaderQosBuilder & latency_budget_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1771
DataReaderQosBuilder & liveliness_lease_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1801
const DDS::TypeConsistencyEnforcementQosPolicy & qos() const
Definition: Qos_Helper.h:1067
DataWriterQosBuilder & liveliness_manual_by_topic()
Definition: Qos_Helper.h:1546
LivelinessQosPolicyBuilder & automatic()
Definition: Qos_Helper.h:793
DataReaderQosBuilder & type_consistency_prevent_type_widening(bool value)
Definition: Qos_Helper.h:1970
OwnershipQosPolicyBuilder & kind(DDS::OwnershipQosPolicyKind kind)
Definition: Qos_Helper.h:729
TopicQosBuilder & ownership_exclusive()
Definition: Qos_Helper.h:1385
DataWriterQosBuilder & history_depth(int depth)
Definition: Qos_Helper.h:1619
DataWriterQosBuilder & ownership_kind(DDS::OwnershipQosPolicyKind kind)
Definition: Qos_Helper.h:1661
const DDS::ReliabilityQosPolicy & qos() const
Definition: Qos_Helper.h:857
DataWriterQosBuilder & durability_service_keep_last(int depth)
Definition: Qos_Helper.h:1479
HistoryQosPolicyKind
TopicQosBuilder & durability_service_max_instances(int value)
Definition: Qos_Helper.h:1222
DestinationOrderQosPolicyBuilder & by_reception_timestamp()
Definition: Qos_Helper.h:908
DataWriterQosBuilder & ownership_strength_value(int value)
Definition: Qos_Helper.h:1679
This class implements methods that verify whether a qos is valid, consistent and changeable.
Definition: Qos_Helper.h:62
OwnershipQosPolicyBuilder & exclusive()
Definition: Qos_Helper.h:741
TopicQosBuilder & durability_service_history_kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:1191
DataWriterQosBuilder & transport_priority_value(int value)
Definition: Qos_Helper.h:1643
const DDS::DeadlineQosPolicy & qos() const
Definition: Qos_Helper.h:679
LifespanQosPolicyBuilder & duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:544
DurabilityServiceQosPolicyBuilder & keep_all()
Definition: Qos_Helper.h:637
LatencyBudgetQosPolicyBuilder & duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:707
TopicQosBuilder & liveliness_manual_by_topic()
Definition: Qos_Helper.h:1264
const DDS::TransportPriorityQosPolicy & qos() const
Definition: Qos_Helper.h:516
DestinationOrderQosPolicyBuilder & by_source_timestamp()
Definition: Qos_Helper.h:914
DataReaderQosBuilder & durability_transient()
Definition: Qos_Helper.h:1753
TypeConsistencyEnforcementQosPolicyBuilder & ignore_member_names(bool value)
Definition: Qos_Helper.h:1102
DataReaderQosBuilder & history_keep_last(int depth)
Definition: Qos_Helper.h:1855
bool operator==(const DisjointSequence::OrderedRanges< T > &a, const DisjointSequence::OrderedRanges< T > &b)
TopicQosBuilder & reliability_reliable()
Definition: Qos_Helper.h:1288
DataReaderQosBuilder & ownership_kind(DDS::OwnershipQosPolicyKind kind)
Definition: Qos_Helper.h:1898
DataWriterQosBuilder & writer_data_lifecycle_autodispose_unregistered_instances(bool value)
Definition: Qos_Helper.h:1685
const DDS::TimeBasedFilterQosPolicy & qos() const
Definition: Qos_Helper.h:829
DataReaderQosBuilder & destination_order_by_reception_timestamp()
Definition: Qos_Helper.h:1837
OwnershipQosPolicyKind
LivelinessQosPolicyBuilder & kind(DDS::LivelinessQosPolicyKind kind)
Definition: Qos_Helper.h:787
const DDS::OwnershipStrengthQosPolicy & qos() const
Definition: Qos_Helper.h:758
DataReaderQosBuilder & reader_data_lifecycle_autopurge_nowriter_samples_delay(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1922
TopicQosBuilder & transport_priority_value(int value)
Definition: Qos_Helper.h:1361
DataWriterQosBuilder & durability_service_history_kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:1473
DataReaderQosBuilder & type_consistency_allow_type_coercion()
Definition: Qos_Helper.h:1946
DataWriterQosBuilder & durability_transient()
Definition: Qos_Helper.h:1455
DDS::WriterDataLifecycleQosPolicy qos_
Definition: Qos_Helper.h:1021
TopicQosBuilder & destination_order_kind(DDS::DestinationOrderQosPolicyKind kind)
Definition: Qos_Helper.h:1300
DataWriterQosBuilder & durability_service_history_depth(int depth)
Definition: Qos_Helper.h:1492
DDS::TypeConsistencyEnforcementQosPolicy qos_
Definition: Qos_Helper.h:1121
DurabilityServiceQosPolicyBuilder & max_samples(int value)
Definition: Qos_Helper.h:649
DurabilityQosPolicyBuilder & kind(DDS::DurabilityQosPolicyKind kind)
Definition: Qos_Helper.h:566
DataWriterQosBuilder & durability_volatile()
Definition: Qos_Helper.h:1443
const DDS::OwnershipQosPolicy & qos() const
Definition: Qos_Helper.h:724
ReaderDataLifecycleQosPolicyBuilder & autopurge_disposed_samples_delay(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1045
ResourceLimitsQosPolicyBuilder & max_samples(int value)
Definition: Qos_Helper.h:980
DataWriterQosBuilder & destination_order_by_source_timestamp()
Definition: Qos_Helper.h:1594
DataReaderQosBuilder & type_consistency_ignore_string_bounds(bool value)
Definition: Qos_Helper.h:1958
const DDS::DataReaderQos & qos() const
Definition: Qos_Helper.h:1720
bool operator!=(const DataWriterQosBuilder &other) const
Definition: Qos_Helper.h:1432
DataWriterQosBuilder & destination_order_kind(DDS::DestinationOrderQosPolicyKind kind)
Definition: Qos_Helper.h:1582
const TypeConsistencyEnforcementQosPolicyKind_t ALLOW_TYPE_COERCION
TopicQosBuilder & durability_persistent()
Definition: Qos_Helper.h:1179
const DDS::DurabilityServiceQosPolicy & qos() const
Definition: Qos_Helper.h:613
DurabilityServiceQosPolicyBuilder & history_depth(int depth)
Definition: Qos_Helper.h:643
const DDS::LivelinessQosPolicy & qos() const
Definition: Qos_Helper.h:782
DataReaderQosBuilder & ownership_shared()
Definition: Qos_Helper.h:1904
DataReaderQosBuilder & resource_limits_max_instances(int value)
Definition: Qos_Helper.h:1880
DataWriterQosBuilder & deadline_period(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1516
TopicQosBuilder & ownership_shared()
Definition: Qos_Helper.h:1379
DDS::LifespanQosPolicy & qos()
Definition: Qos_Helper.h:540
DataReaderQosBuilder & ownership_exclusive()
Definition: Qos_Helper.h:1910
TypeConsistencyEnforcementQosPolicyBuilder & ignore_string_bounds(bool value)
Definition: Qos_Helper.h:1096
TopicQosBuilder & durability_volatile()
Definition: Qos_Helper.h:1161
DataWriterQosBuilder & reliability_reliable()
Definition: Qos_Helper.h:1570
DDS::ReaderDataLifecycleQosPolicy & qos()
Definition: Qos_Helper.h:1035
DDS::TransportPriorityQosPolicy & qos()
Definition: Qos_Helper.h:517
DataWriterQosBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:1600
const DDS::WriterDataLifecycleQosPolicy & qos() const
Definition: Qos_Helper.h:1009
const DDS::LifespanQosPolicy & qos() const
Definition: Qos_Helper.h:539
DurabilityServiceQosPolicyBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:624
DataWriterQosBuilder & durability_service_max_samples(int value)
Definition: Qos_Helper.h:1498
DataReaderQosBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:1849
DataWriterQosBuilder & durability_service_keep_all()
Definition: Qos_Helper.h:1486
DDS::LivelinessQosPolicy & qos()
Definition: Qos_Helper.h:783
DataWriterQosBuilder & durability_transient_local()
Definition: Qos_Helper.h:1449
ResourceLimitsQosPolicyBuilder & max_samples_per_instance(int value)
Definition: Qos_Helper.h:992
TopicQosBuilder & durability_service_keep_last(int depth)
Definition: Qos_Helper.h:1197
TopicQosBuilder & lifespan_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1367
DDS::DurabilityServiceQosPolicy & qos()
Definition: Qos_Helper.h:614
ReliabilityQosPolicyBuilder & best_effort()
Definition: Qos_Helper.h:868
DDS::DataReaderQos & qos()
Definition: Qos_Helper.h:1721
ACE_INLINE OpenDDS_Dcps_Export DDS::Duration_t make_duration_t(int sec, unsigned long nanosec)
TopicQosBuilder & reliability_kind(DDS::ReliabilityQosPolicyKind kind)
Definition: Qos_Helper.h:1276
ReliabilityQosPolicyBuilder & kind(DDS::ReliabilityQosPolicyKind kind)
Definition: Qos_Helper.h:862
DataReaderQosBuilder & destination_order_kind(DDS::DestinationOrderQosPolicyKind kind)
Definition: Qos_Helper.h:1831
const unsigned long DURATION_ZERO_NSEC
Definition: DdsDcpsCore.idl:76
TopicQosBuilder & durability_kind(DDS::DurabilityQosPolicyKind kind)
Definition: Qos_Helper.h:1155
TopicQosBuilder & durability_service_keep_all()
Definition: Qos_Helper.h:1204
const DDS::HistoryQosPolicy & qos() const
Definition: Qos_Helper.h:932
DataWriterQosBuilder & liveliness_automatic()
Definition: Qos_Helper.h:1534
TypeConsistencyEnforcementQosPolicyBuilder & prevent_type_widening(bool value)
Definition: Qos_Helper.h:1108
DataWriterQosBuilder & durability_persistent()
Definition: Qos_Helper.h:1461
TopicQosBuilder & resource_limits_max_instances(int value)
Definition: Qos_Helper.h:1349
DurabilityQosPolicyBuilder & transient_local()
Definition: Qos_Helper.h:578
TypeConsistencyEnforcementQosPolicyBuilder & disallow_type_coercion()
Definition: Qos_Helper.h:1078
DataWriterQosBuilder & ownership_shared()
Definition: Qos_Helper.h:1667
const DDS::DestinationOrderQosPolicy & qos() const
Definition: Qos_Helper.h:897
DDS::TimeBasedFilterQosPolicy qos_
Definition: Qos_Helper.h:841
DurabilityQosPolicyKind
DDS::TypeConsistencyEnforcementQosPolicy & qos()
Definition: Qos_Helper.h:1068
DDS::ResourceLimitsQosPolicy & qos()
Definition: Qos_Helper.h:976
DDS::DestinationOrderQosPolicy qos_
Definition: Qos_Helper.h:921
bool operator==(const DataWriterQosBuilder &other) const
Definition: Qos_Helper.h:1427
DurabilityQosPolicyBuilder & _volatile()
Definition: Qos_Helper.h:572
TopicQosBuilder & liveliness_lease_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1270
sequence< octet > OctetSeq
Definition: DdsDcpsCore.idl:64
DataReaderQosBuilder & user_data_value(const DDS::OctetSeq &value)
Definition: Qos_Helper.h:1892
ReliabilityQosPolicyKind
DataWriterQosBuilder & liveliness_lease_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1552
DataWriterQosBuilder & reliability_kind(DDS::ReliabilityQosPolicyKind kind)
Definition: Qos_Helper.h:1558
TopicQosBuilder & durability_service_max_samples(int value)
Definition: Qos_Helper.h:1216
ReliabilityQosPolicyBuilder & max_blocking_time(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:880
bool operator==(const DataReaderQosBuilder &other) const
Definition: Qos_Helper.h:1725
DataWriterQosBuilder & user_data_value(const DDS::OctetSeq &value)
Definition: Qos_Helper.h:1655
DataReaderQosBuilder & type_consistency_force_type_validation(bool value)
Definition: Qos_Helper.h:1976
TopicQosBuilder & liveliness_manual_by_participant()
Definition: Qos_Helper.h:1258
DDS::ReaderDataLifecycleQosPolicy qos_
Definition: Qos_Helper.h:1052
ReliabilityQosPolicyBuilder & reliable()
Definition: Qos_Helper.h:874
const DDS::DataWriterQos & qos() const
Definition: Qos_Helper.h:1422
DDS::DurabilityQosPolicy & qos()
Definition: Qos_Helper.h:562
DeadlineQosPolicyBuilder & period(const DDS::Duration_t &period)
Definition: Qos_Helper.h:684
DataReaderQosBuilder & reader_data_lifecycle_autopurge_disposed_samples_delay(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1928
DataReaderQosBuilder & resource_limits_max_samples_per_instance(int value)
Definition: Qos_Helper.h:1886
TypeConsistencyEnforcementQosPolicyBuilder & ignore_sequence_bounds(bool value)
Definition: Qos_Helper.h:1090
const unsigned long DURATION_INFINITE_NSEC
Definition: DdsDcpsCore.idl:73
TypeConsistencyEnforcementQosPolicyBuilder & allow_type_coercion()
Definition: Qos_Helper.h:1084
bool operator!=(const GUID_t &lhs, const GUID_t &rhs)
Definition: GuidUtils.h:125
DataReaderQosBuilder & durability_volatile()
Definition: Qos_Helper.h:1741
TransportPriorityQosPolicyBuilder & value(int value)
Definition: Qos_Helper.h:521
DDS::ReliabilityQosPolicy & qos()
Definition: Qos_Helper.h:858
DurabilityQosPolicyBuilder & persistent()
Definition: Qos_Helper.h:590
TopicQosBuilder & ownership_kind(DDS::OwnershipQosPolicyKind kind)
Definition: Qos_Helper.h:1373
DataReaderQosBuilder & reliability_max_blocking_time(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1825
DDS::ResourceLimitsQosPolicy qos_
Definition: Qos_Helper.h:999
const DDS::TopicQos & qos() const
Definition: Qos_Helper.h:1144
DataWriterQosBuilder & resource_limits_max_samples_per_instance(int value)
Definition: Qos_Helper.h:1637
TopicQosBuilder & durability_transient_local()
Definition: Qos_Helper.h:1167
DataWriterQosBuilder & durability_service_service_cleanup_delay(const DDS::Duration_t &delay)
Definition: Qos_Helper.h:1467
DDS::DataWriterQos & qos()
Definition: Qos_Helper.h:1423
DataWriterQosBuilder & latency_budget_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1522
DataReaderQosBuilder & history_keep_all()
Definition: Qos_Helper.h:1862
TopicQosBuilder & history_depth(int depth)
Definition: Qos_Helper.h:1337
TopicQosBuilder & liveliness_kind(DDS::LivelinessQosPolicyKind kind)
Definition: Qos_Helper.h:1246
DataReaderQosBuilder & liveliness_manual_by_topic()
Definition: Qos_Helper.h:1795
DataWriterQosBuilder & history_keep_last(int depth)
Definition: Qos_Helper.h:1606
OwnershipQosPolicyBuilder & shared()
Definition: Qos_Helper.h:735
HistoryQosPolicyBuilder & keep_last(int depth)
Definition: Qos_Helper.h:943
DestinationOrderQosPolicyBuilder & kind(DDS::DestinationOrderQosPolicyKind kind)
Definition: Qos_Helper.h:902
DDS::WriterDataLifecycleQosPolicy & qos()
Definition: Qos_Helper.h:1010
DataReaderQosBuilder & deadline_period(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1765
const long DURATION_ZERO_SEC
Definition: DdsDcpsCore.idl:75
DDS::TransportPriorityQosPolicy qos_
Definition: Qos_Helper.h:528
bool operator!=(const DataReaderQosBuilder &other) const
Definition: Qos_Helper.h:1730
DDS::DestinationOrderQosPolicy & qos()
Definition: Qos_Helper.h:898
const DDS::LatencyBudgetQosPolicy & qos() const
Definition: Qos_Helper.h:702
TypeConsistencyEnforcementQosPolicyBuilder & force_type_validation(bool value)
Definition: Qos_Helper.h:1114
DDS::OwnershipStrengthQosPolicy & qos()
Definition: Qos_Helper.h:759
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
DataReaderQosBuilder & reliability_best_effort()
Definition: Qos_Helper.h:1813
DataReaderQosBuilder & destination_order_by_source_timestamp()
Definition: Qos_Helper.h:1843
DataReaderQosBuilder & durability_transient_local()
Definition: Qos_Helper.h:1747
HistoryQosPolicyBuilder & kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:937
TopicQosBuilder & durability_transient()
Definition: Qos_Helper.h:1173
DataWriterQosBuilder & history_keep_all()
Definition: Qos_Helper.h:1613
DDS::LatencyBudgetQosPolicy qos_
Definition: Qos_Helper.h:714
DataReaderQosBuilder & reliability_kind(DDS::ReliabilityQosPolicyKind kind)
Definition: Qos_Helper.h:1807
DataWriterQosBuilder & durability_kind(DDS::DurabilityQosPolicyKind kind)
Definition: Qos_Helper.h:1437
DataReaderQosBuilder & type_consistency_ignore_sequence_bounds(bool value)
Definition: Qos_Helper.h:1952
DurabilityServiceQosPolicyBuilder & service_cleanup_delay(const DDS::Duration_t &delay)
Definition: Qos_Helper.h:618
DataWriterQosBuilder & liveliness_kind(DDS::LivelinessQosPolicyKind kind)
Definition: Qos_Helper.h:1528
DDS::LatencyBudgetQosPolicy & qos()
Definition: Qos_Helper.h:703
DDS::TimeBasedFilterQosPolicy & qos()
Definition: Qos_Helper.h:830
#define ACE_INLINE
const DDS::ReaderDataLifecycleQosPolicy & qos() const
Definition: Qos_Helper.h:1034
const long LENGTH_UNLIMITED
DDS::OwnershipStrengthQosPolicy qos_
Definition: Qos_Helper.h:770
TopicQosBuilder & deadline_period(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1234
TimeBasedFilterQosPolicyBuilder & minimum_separation(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:834
ResourceLimitsQosPolicyBuilder & max_instances(int value)
Definition: Qos_Helper.h:986
DataReaderQosBuilder & durability_kind(DDS::DurabilityQosPolicyKind kind)
Definition: Qos_Helper.h:1735
TopicQosBuilder & destination_order_by_source_timestamp()
Definition: Qos_Helper.h:1312
TopicQosBuilder & history_kind(DDS::HistoryQosPolicyKind kind)
Definition: Qos_Helper.h:1318
TopicQosBuilder & latency_budget_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1240
DataWriterQosBuilder & durability_service_max_samples_per_instance(int value)
Definition: Qos_Helper.h:1510
TopicQosBuilder & durability_service_max_samples_per_instance(int value)
Definition: Qos_Helper.h:1228
DataWriterQosBuilder & resource_limits_max_samples(int value)
Definition: Qos_Helper.h:1625
DurabilityServiceQosPolicyBuilder & max_samples_per_instance(int value)
Definition: Qos_Helper.h:661
DataWriterQosBuilder & reliability_max_blocking_time(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1576
DataReaderQosBuilder & reliability_reliable()
Definition: Qos_Helper.h:1819
DataReaderQosBuilder & liveliness_automatic()
Definition: Qos_Helper.h:1783
DataWriterQosBuilder & lifespan_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1649
short TypeConsistencyEnforcementQosPolicyKind_t
LivelinessQosPolicyBuilder & lease_duration(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:811
DataReaderQosBuilder & durability_persistent()
Definition: Qos_Helper.h:1759
DataReaderQosBuilder & history_depth(int depth)
Definition: Qos_Helper.h:1868
The Internal API and Implementation of OpenDDS.
Definition: AddressCache.h:28
const DDS::ResourceLimitsQosPolicy & qos() const
Definition: Qos_Helper.h:975
DataWriterQosBuilder & ownership_exclusive()
Definition: Qos_Helper.h:1673
DataReaderQosBuilder & liveliness_manual_by_participant()
Definition: Qos_Helper.h:1789
DataWriterQosBuilder & durability_service_max_instances(int value)
Definition: Qos_Helper.h:1504
const TypeConsistencyEnforcementQosPolicyKind_t DISALLOW_TYPE_COERCION
TopicQosBuilder & resource_limits_max_samples_per_instance(int value)
Definition: Qos_Helper.h:1355
HistoryQosPolicyBuilder & keep_all()
Definition: Qos_Helper.h:950
TopicQosBuilder & durability_service_history_depth(int depth)
Definition: Qos_Helper.h:1210
DataWriterQosBuilder & liveliness_manual_by_participant()
Definition: Qos_Helper.h:1540
TopicQosBuilder & reliability_max_blocking_time(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1294
LivelinessQosPolicyKind
TopicQosBuilder & reliability_best_effort()
Definition: Qos_Helper.h:1282
TopicQosBuilder & liveliness_automatic()
Definition: Qos_Helper.h:1252
DurabilityServiceQosPolicyBuilder & max_instances(int value)
Definition: Qos_Helper.h:655
HistoryQosPolicyBuilder & depth(int depth)
Definition: Qos_Helper.h:956
DataReaderQosBuilder & time_based_filter_minimum_separation(const DDS::Duration_t &duration)
Definition: Qos_Helper.h:1916
DDS::OwnershipQosPolicy & qos()
Definition: Qos_Helper.h:725