Fast DDS  Version 3.3.0
Fast DDS
Loading...
Searching...
No Matches
SubscriptionBuiltinTopicData.hpp
1// Copyright 2024 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
19#ifndef FASTDDS_RTPS_BUILTIN_DATA__SUBSCRIPTIONBUILTINTOPICDATA_HPP
20#define FASTDDS_RTPS_BUILTIN_DATA__SUBSCRIPTIONBUILTINTOPICDATA_HPP
21
22#include <fastcdr/cdr/fixed_size_string.hpp>
23#include <fastcdr/xcdr/optional.hpp>
24
25#include <fastdds/dds/core/policy/QosPolicies.hpp>
26#include <fastdds/dds/core/policy/ReaderDataLifecycleQosPolicy.hpp>
27#include <fastdds/dds/core/policy/ReaderResourceLimitsQos.hpp>
28#include <fastdds/dds/core/policy/RTPSReliableReaderQos.hpp>
29#include <fastdds/rtps/attributes/RTPSParticipantAllocationAttributes.hpp>
30#include <fastdds/rtps/builtin/data/BuiltinTopicKey.hpp>
31#include <fastdds/rtps/builtin/data/ContentFilterProperty.hpp>
32#include <fastdds/rtps/common/Guid.hpp>
33#include <fastdds/rtps/common/RemoteLocators.hpp>
34#include <fastdds/rtps/common/Types.hpp>
35
36namespace eprosima {
37namespace fastdds {
38namespace dds {
39
40class ReaderQos;
41
42} // namespace dds
43namespace rtps {
44
47{
48 FASTDDS_EXPORTED_API SubscriptionBuiltinTopicData() = default;
49
50 FASTDDS_EXPORTED_API SubscriptionBuiltinTopicData(
51 const size_t max_unicast_locators,
52 const size_t max_multicast_locators,
53 const VariableLengthDataLimits& data_limits,
55
58
61
63 fastcdr::string_255 topic_name;
64
66 fastcdr::string_255 type_name;
67
69 TopicKind_t topic_kind = TopicKind_t::NO_KEY;
70
71 // DataReader Qos
72
75
78
81
84
87
90
93
96
98 dds::UserDataQosPolicy user_data;
99
102
103 // Subscriber Qos
104
107
110
112 dds::TopicDataQosPolicy topic_data;
113
115 dds::GroupDataQosPolicy group_data;
116
117 // X-Types 1.3
118
121
124
127
128 // RPC over DDS V1.0
129
130 // Related DataWriter Key
132
133 // eProsima Extensions
134
137
140
143
145 fastcdr::optional<dds::HistoryQosPolicy> history;
146
148 fastcdr::optional<dds::ResourceLimitsQosPolicy> resource_limits;
149
151 fastcdr::optional<dds::ReaderDataLifecycleQosPolicy> reader_data_lifecycle;
152
154 fastcdr::optional<dds::RTPSReliableReaderQos> rtps_reliable_reader;
155
157 fastcdr::optional<dds::RTPSEndpointQos> endpoint;
158
160 fastcdr::optional<dds::ReaderResourceLimitsQos> reader_resource_limits;
161
164
167
170
173
175 bool expects_inline_qos = false;
176
179};
180
181} // namespace rtps
182} // namespace fastdds
183} // namespace eprosima
184
185#endif // FASTDDS_RTPS_BUILTIN_DATA__SUBSCRIPTIONBUILTINTOPICDATA_HPP
With multiple standard data Representations available, and vendor-specific extensions possible,...
Definition QosPolicies.hpp:2072
Qos Policy to configure the data sharing.
Definition QosPolicies.hpp:2952
DataReader expects a new sample updating the value of each instance at least once every deadline peri...
Definition QosPolicies.hpp:363
Controls the criteria used to determine the logical order among changes made by Publisher entities to...
Definition QosPolicies.hpp:719
Class DisablePositiveACKsQosPolicy to disable sending of positive ACKs.
Definition QosPolicies.hpp:2224
This policy expresses if the data should ‘outlive’ their writing time.
Definition QosPolicies.hpp:278
Specifies the maximum acceptable delay from the time the data is written until the data is inserted i...
Definition QosPolicies.hpp:416
Specifies the maximum duration of validity of the data written by the DataWriter.
Definition QosPolicies.hpp:1877
Determines the mechanism and parameters used by the application to determine whether an Entity is “ac...
Definition QosPolicies.hpp:488
Specifies whether it is allowed for multiple DataWriters to write the same instance of the data and i...
Definition QosPolicies.hpp:652
Definition ParameterTypes.hpp:1247
Set of strings that introduces a logical partition among the topics visible by the Publisher and Subs...
Definition QosPolicies.hpp:1286
Specifies how the samples representing changes to data instances are presented to the subscribing app...
Definition QosPolicies.hpp:1156
Indicates the reliability of the endpoint.
Definition QosPolicies.hpp:570
Filter that allows a DataReader to specify that it is interested only in (potentially) a subset of th...
Definition QosPolicies.hpp:1082
The TypeConsistencyEnforcementQosPolicy defines the rules for determining whether the type used to pu...
Definition QosPolicies.hpp:2134
Class xtypes::TypeInformationParameter.
Definition QosPolicies.hpp:2497
Information about the content filter being applied by a reader.
Definition ContentFilterProperty.hpp:36
Definition DomainParticipant.hpp:46
uint32_t NetworkConfigSet_t
Definition Types.hpp:88
TopicKind_t
Topic kind.
Definition Types.hpp:72
eProsima namespace.
Definition BuiltinTopicKey.hpp:30
Allocation configuration for a ContentFilterProperty.
Definition ContentFilterProperty.hpp:43
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
Holds information about the locators of a remote entity.
Definition RemoteLocators.hpp:34
Structure SubscriptionBuiltinTopicData, contains the information on a discovered subscription.
Definition SubscriptionBuiltinTopicData.hpp:47
dds::DeadlineQosPolicy deadline
Deadline Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:77
dds::xtypes::TypeInformationParameter type_information
Type information.
Definition SubscriptionBuiltinTopicData.hpp:120
dds::LifespanQosPolicy lifespan
Lifespan Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:83
dds::UserDataQosPolicy user_data
User Data Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:98
dds::PartitionQosPolicy partition
Partition Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:109
TopicKind_t topic_kind
Topic kind.
Definition SubscriptionBuiltinTopicData.hpp:69
fastcdr::optional< dds::RTPSEndpointQos > endpoint
Endpoint qos policy.
Definition SubscriptionBuiltinTopicData.hpp:157
dds::DestinationOrderQosPolicy destination_order
Destination Order Qos, NOT implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:95
fastcdr::optional< dds::ReaderDataLifecycleQosPolicy > reader_data_lifecycle
Reader data lifecycle Qos.
Definition SubscriptionBuiltinTopicData.hpp:151
NetworkConfigSet_t loopback_transformation
Network configuration.
Definition SubscriptionBuiltinTopicData.hpp:172
dds::DurabilityQosPolicy durability
Durability Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:74
fastcdr::string_255 type_name
Type name.
Definition SubscriptionBuiltinTopicData.hpp:66
fastcdr::optional< dds::ResourceLimitsQosPolicy > resource_limits
Resource limits Qos.
Definition SubscriptionBuiltinTopicData.hpp:148
dds::LatencyBudgetQosPolicy latency_budget
Latency Budget Qos, NOT implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:80
ParameterPropertyList_t properties
Property list.
Definition SubscriptionBuiltinTopicData.hpp:178
ContentFilterProperty content_filter
Content filter configuration.
Definition SubscriptionBuiltinTopicData.hpp:136
GUID_t guid
GUID.
Definition SubscriptionBuiltinTopicData.hpp:163
dds::TopicDataQosPolicy topic_data
Topic Data Qos, NOT implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:112
dds::ReliabilityQosPolicy reliability
Reliability Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:89
RemoteLocatorList remote_locators
Remote locators.
Definition SubscriptionBuiltinTopicData.hpp:169
GUID_t participant_guid
Participant GUID.
Definition SubscriptionBuiltinTopicData.hpp:166
GUID_t related_datawriter_key
Definition SubscriptionBuiltinTopicData.hpp:131
fastcdr::optional< dds::ReaderResourceLimitsQos > reader_resource_limits
Reader resource limits.
Definition SubscriptionBuiltinTopicData.hpp:160
dds::LivelinessQosPolicy liveliness
Liveliness Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:86
dds::DataRepresentationQosPolicy representation
Data representation.
Definition SubscriptionBuiltinTopicData.hpp:123
dds::TypeConsistencyEnforcementQosPolicy type_consistency
Type consistency enforcement Qos, NOT implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:126
dds::OwnershipQosPolicy ownership
Ownership Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:92
dds::TimeBasedFilterQosPolicy time_based_filter
Time Based Filter Qos, NOT implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:101
fastcdr::optional< dds::HistoryQosPolicy > history
History Qos, kind and depth.
Definition SubscriptionBuiltinTopicData.hpp:145
FASTDDS_EXPORTED_API SubscriptionBuiltinTopicData(const size_t max_unicast_locators, const size_t max_multicast_locators, const VariableLengthDataLimits &data_limits, const fastdds::rtps::ContentFilterProperty::AllocationConfiguration &content_filter_limits)
dds::DisablePositiveACKsQosPolicy disable_positive_acks
Disable positive acks, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:139
dds::PresentationQosPolicy presentation
Presentation Qos, NOT implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:106
dds::DataSharingQosPolicy data_sharing
Information for data sharing compatibility check.
Definition SubscriptionBuiltinTopicData.hpp:142
BuiltinTopicKey_t participant_key
Builtin participant topic Key.
Definition SubscriptionBuiltinTopicData.hpp:60
BuiltinTopicKey_t key
Builtin topic Key.
Definition SubscriptionBuiltinTopicData.hpp:57
fastcdr::optional< dds::RTPSReliableReaderQos > rtps_reliable_reader
Reliable reader qos policy.
Definition SubscriptionBuiltinTopicData.hpp:154
FASTDDS_EXPORTED_API SubscriptionBuiltinTopicData()=default
dds::GroupDataQosPolicy group_data
Group Data Qos, implemented in the library.
Definition SubscriptionBuiltinTopicData.hpp:115
fastcdr::string_255 topic_name
Topic name.
Definition SubscriptionBuiltinTopicData.hpp:63
bool expects_inline_qos
Expects Inline Qos.
Definition SubscriptionBuiltinTopicData.hpp:175
Holds limits for variable-length data.
Definition RTPSParticipantAllocationAttributes.hpp:105