Coverage Report

Created: 2025-06-13 06:46

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