Program Listing for File DataReaderQos.hpp
↰ Return to documentation for file (/tmp/ws/src/fastrtps/include/fastdds/dds/subscriber/qos/DataReaderQos.hpp
)
// Copyright 2019 Proyectos y Sistemas de Mantenimiento SL (eProsima).
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _FASTDDS_DATAREADERQOS_HPP
#define _FASTDDS_DATAREADERQOS_HPP
#include <fastdds/dds/core/policy/QosPolicies.hpp>
#include <fastdds/dds/subscriber/qos/ReaderQos.hpp>
#include <fastdds/dds/subscriber/qos/SubscriberQos.hpp>
#include <fastdds/dds/core/policy/ReaderDataLifecycleQosPolicy.hpp>
#include <fastdds/rtps/attributes/ReaderAttributes.h>
#include <fastrtps/attributes/TopicAttributes.h>
namespace eprosima {
namespace fastdds {
namespace dds {
using TopicAttributesQos = fastrtps::TopicAttributes;
class RTPSReliableReaderQos
{
public:
RTPS_DllAPI RTPSReliableReaderQos()
{
}
virtual RTPS_DllAPI ~RTPSReliableReaderQos() = default;
bool operator ==(
const RTPSReliableReaderQos& b) const
{
return (this->times == b.times) &&
(this->disable_positive_ACKs == b.disable_positive_ACKs);
}
inline void clear()
{
RTPSReliableReaderQos reset = RTPSReliableReaderQos();
std::swap(*this, reset);
}
fastrtps::rtps::ReaderTimes times;
DisablePositiveACKsQosPolicy disable_positive_ACKs;
};
class ReaderResourceLimitsQos
{
public:
RTPS_DllAPI ReaderResourceLimitsQos() = default;
virtual RTPS_DllAPI ~ReaderResourceLimitsQos() = default;
bool operator ==(
const ReaderResourceLimitsQos& b) const
{
return
(matched_publisher_allocation == b.matched_publisher_allocation) &&
(sample_infos_allocation == b.sample_infos_allocation) &&
(outstanding_reads_allocation == b.outstanding_reads_allocation) &&
(max_samples_per_read == b.max_samples_per_read);
}
inline void clear()
{
ReaderResourceLimitsQos reset = ReaderResourceLimitsQos();
std::swap(*this, reset);
}
fastrtps::ResourceLimitedContainerConfig matched_publisher_allocation;
fastrtps::ResourceLimitedContainerConfig sample_infos_allocation{ 32u };
fastrtps::ResourceLimitedContainerConfig outstanding_reads_allocation{ 2u };
int32_t max_samples_per_read = 32;
};
class TypeConsistencyQos : public QosPolicy
{
public:
RTPS_DllAPI TypeConsistencyQos()
: QosPolicy(false)
{
}
virtual RTPS_DllAPI ~TypeConsistencyQos() = default;
bool operator ==(
const TypeConsistencyQos& b) const
{
return (this->type_consistency == b.type_consistency) &&
(this->representation == b.representation) &&
QosPolicy::operator ==(b);
}
inline void clear() override
{
TypeConsistencyQos reset = TypeConsistencyQos();
std::swap(*this, reset);
}
TypeConsistencyEnforcementQosPolicy type_consistency;
DataRepresentationQosPolicy representation;
};
class DataReaderQos
{
public:
RTPS_DllAPI DataReaderQos()
: expects_inline_qos_(false)
{
}
RTPS_DllAPI bool operator ==(
const DataReaderQos& b) const
{
return (durability_ == b.durability()) &&
(deadline_ == b.deadline()) &&
(latency_budget_ == b.latency_budget()) &&
(liveliness_ == b.liveliness()) &&
(reliability_ == b.reliability()) &&
(destination_order_ == b.destination_order()) &&
(history_ == b.history()) &&
(resource_limits_ == b.resource_limits()) &&
(user_data_ == b.user_data()) &&
(ownership_ == b.ownership()) &&
(time_based_filter_ == b.time_based_filter()) &&
(reader_data_lifecycle_ == b.reader_data_lifecycle()) &&
(lifespan_ == b.lifespan()) &&
(durability_service_ == b.durability_service()) &&
(reliable_reader_qos_ == b.reliable_reader_qos()) &&
(type_consistency_ == b.type_consistency()) &&
(expects_inline_qos_ == b.expects_inline_qos()) &&
(properties_ == b.properties()) &&
(endpoint_ == b.endpoint()) &&
(reader_resource_limits_ == b.reader_resource_limits()) &&
(data_sharing_ == b.data_sharing());
}
RTPS_DllAPI ReaderQos get_readerqos(
const SubscriberQos& sqos) const;
RTPS_DllAPI DurabilityQosPolicy& durability()
{
return durability_;
}
RTPS_DllAPI const DurabilityQosPolicy& durability() const
{
return durability_;
}
RTPS_DllAPI void durability(
const DurabilityQosPolicy& new_value)
{
durability_ = new_value;
}
RTPS_DllAPI DeadlineQosPolicy& deadline()
{
return deadline_;
}
RTPS_DllAPI const DeadlineQosPolicy& deadline() const
{
return deadline_;
}
RTPS_DllAPI void deadline(
const DeadlineQosPolicy& new_value)
{
deadline_ = new_value;
}
RTPS_DllAPI LatencyBudgetQosPolicy& latency_budget()
{
return latency_budget_;
}
RTPS_DllAPI const LatencyBudgetQosPolicy& latency_budget() const
{
return latency_budget_;
}
RTPS_DllAPI void latency_budget(
const LatencyBudgetQosPolicy& new_value)
{
latency_budget_ = new_value;
}
RTPS_DllAPI LivelinessQosPolicy& liveliness()
{
return liveliness_;
}
RTPS_DllAPI const LivelinessQosPolicy& liveliness() const
{
return liveliness_;
}
RTPS_DllAPI void liveliness(
const LivelinessQosPolicy& new_value)
{
liveliness_ = new_value;
}
RTPS_DllAPI ReliabilityQosPolicy& reliability()
{
return reliability_;
}
RTPS_DllAPI const ReliabilityQosPolicy& reliability() const
{
return reliability_;
}
RTPS_DllAPI void reliability(
const ReliabilityQosPolicy& new_value)
{
reliability_ = new_value;
}
RTPS_DllAPI DestinationOrderQosPolicy& destination_order()
{
return destination_order_;
}
RTPS_DllAPI const DestinationOrderQosPolicy& destination_order() const
{
return destination_order_;
}
RTPS_DllAPI void destination_order(
const DestinationOrderQosPolicy& new_value)
{
destination_order_ = new_value;
}
RTPS_DllAPI HistoryQosPolicy& history()
{
return history_;
}
RTPS_DllAPI const HistoryQosPolicy& history() const
{
return history_;
}
RTPS_DllAPI void history(
const HistoryQosPolicy& new_value)
{
history_ = new_value;
}
RTPS_DllAPI ResourceLimitsQosPolicy& resource_limits()
{
return resource_limits_;
}
RTPS_DllAPI const ResourceLimitsQosPolicy& resource_limits() const
{
return resource_limits_;
}
RTPS_DllAPI void resource_limits(
const ResourceLimitsQosPolicy& new_value)
{
resource_limits_ = new_value;
}
RTPS_DllAPI UserDataQosPolicy& user_data()
{
return user_data_;
}
RTPS_DllAPI const UserDataQosPolicy& user_data() const
{
return user_data_;
}
RTPS_DllAPI void user_data(
const UserDataQosPolicy& new_value)
{
user_data_ = new_value;
}
RTPS_DllAPI OwnershipQosPolicy& ownership()
{
return ownership_;
}
RTPS_DllAPI const OwnershipQosPolicy& ownership() const
{
return ownership_;
}
RTPS_DllAPI void ownership(
const OwnershipQosPolicy& new_value)
{
ownership_ = new_value;
}
RTPS_DllAPI TimeBasedFilterQosPolicy& time_based_filter()
{
return time_based_filter_;
}
RTPS_DllAPI const TimeBasedFilterQosPolicy& time_based_filter() const
{
return time_based_filter_;
}
RTPS_DllAPI void time_based_filter(
const TimeBasedFilterQosPolicy& new_value)
{
time_based_filter_ = new_value;
}
RTPS_DllAPI ReaderDataLifecycleQosPolicy& reader_data_lifecycle()
{
return reader_data_lifecycle_;
}
RTPS_DllAPI const ReaderDataLifecycleQosPolicy& reader_data_lifecycle() const
{
return reader_data_lifecycle_;
}
RTPS_DllAPI void reader_data_lifecycle(
const ReaderDataLifecycleQosPolicy& new_value)
{
reader_data_lifecycle_ = new_value;
}
RTPS_DllAPI LifespanQosPolicy& lifespan()
{
return lifespan_;
}
RTPS_DllAPI const LifespanQosPolicy& lifespan() const
{
return lifespan_;
}
RTPS_DllAPI void lifespan(
const LifespanQosPolicy& new_value)
{
lifespan_ = new_value;
}
RTPS_DllAPI DurabilityServiceQosPolicy& durability_service()
{
return durability_service_;
}
RTPS_DllAPI const DurabilityServiceQosPolicy& durability_service() const
{
return durability_service_;
}
RTPS_DllAPI void durability_service(
const DurabilityServiceQosPolicy& new_value)
{
durability_service_ = new_value;
}
RTPS_DllAPI RTPSReliableReaderQos& reliable_reader_qos()
{
return reliable_reader_qos_;
}
RTPS_DllAPI const RTPSReliableReaderQos& reliable_reader_qos() const
{
return reliable_reader_qos_;
}
RTPS_DllAPI void reliable_reader_qos(
const RTPSReliableReaderQos& new_value)
{
reliable_reader_qos_ = new_value;
}
RTPS_DllAPI TypeConsistencyQos& type_consistency()
{
return type_consistency_;
}
RTPS_DllAPI const TypeConsistencyQos& type_consistency() const
{
return type_consistency_;
}
RTPS_DllAPI void type_consistency(
const TypeConsistencyQos& new_value)
{
type_consistency_ = new_value;
}
RTPS_DllAPI bool expects_inline_qos() const
{
return expects_inline_qos_;
}
RTPS_DllAPI void expects_inline_qos(
bool new_value)
{
expects_inline_qos_ = new_value;
}
RTPS_DllAPI PropertyPolicyQos& properties()
{
return properties_;
}
RTPS_DllAPI const PropertyPolicyQos& properties() const
{
return properties_;
}
RTPS_DllAPI void properties(
const PropertyPolicyQos& new_value)
{
properties_ = new_value;
}
RTPS_DllAPI RTPSEndpointQos& endpoint()
{
return endpoint_;
}
RTPS_DllAPI const RTPSEndpointQos& endpoint() const
{
return endpoint_;
}
RTPS_DllAPI void endpoint(
const RTPSEndpointQos& new_value)
{
endpoint_ = new_value;
}
RTPS_DllAPI ReaderResourceLimitsQos& reader_resource_limits()
{
return reader_resource_limits_;
}
RTPS_DllAPI const ReaderResourceLimitsQos& reader_resource_limits() const
{
return reader_resource_limits_;
}
RTPS_DllAPI void reader_resource_limits(
const ReaderResourceLimitsQos& new_value)
{
reader_resource_limits_ = new_value;
}
RTPS_DllAPI DataSharingQosPolicy& data_sharing()
{
return data_sharing_;
}
RTPS_DllAPI const DataSharingQosPolicy& data_sharing() const
{
return data_sharing_;
}
RTPS_DllAPI void data_sharing(
const DataSharingQosPolicy& data_sharing)
{
data_sharing_ = data_sharing;
}
private:
DurabilityQosPolicy durability_;
DeadlineQosPolicy deadline_;
LatencyBudgetQosPolicy latency_budget_;
LivelinessQosPolicy liveliness_;
ReliabilityQosPolicy reliability_;
DestinationOrderQosPolicy destination_order_;
HistoryQosPolicy history_;
ResourceLimitsQosPolicy resource_limits_;
UserDataQosPolicy user_data_;
OwnershipQosPolicy ownership_;
TimeBasedFilterQosPolicy time_based_filter_;
ReaderDataLifecycleQosPolicy reader_data_lifecycle_;
LifespanQosPolicy lifespan_;
DurabilityServiceQosPolicy durability_service_;
RTPSReliableReaderQos reliable_reader_qos_;
TypeConsistencyQos type_consistency_;
bool expects_inline_qos_;
PropertyPolicyQos properties_;
RTPSEndpointQos endpoint_;
ReaderResourceLimitsQos reader_resource_limits_;
DataSharingQosPolicy data_sharing_;
};
RTPS_DllAPI extern const DataReaderQos DATAREADER_QOS_DEFAULT;
} // namespace dds
} // namespace fastdds
} // namespace eprosima
#endif // _FASTDDS_DATAREADERQOS_HPP