Program Listing for File DataWriterQos.hpp
↰ Return to documentation for file (include/fastdds/dds/publisher/qos/DataWriterQos.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_DDS_PUBLISHER_QOS__DATAWRITERQOS_HPP
#define FASTDDS_DDS_PUBLISHER_QOS__DATAWRITERQOS_HPP
#include <fastdds/dds/core/policy/QosPolicies.hpp>
#include <fastdds/dds/publisher/qos/WriterQos.hpp>
#include <fastdds/dds/publisher/qos/PublisherQos.hpp>
#include <fastdds/dds/core/policy/WriterDataLifecycleQosPolicy.hpp>
#include <fastdds/dds/publisher/qos/PublisherQos.hpp>
#include <fastdds/dds/publisher/qos/WriterQos.hpp>
#include <fastdds/dds/topic/qos/TopicQos.hpp>
#include <fastdds/rtps/attributes/WriterAttributes.hpp>
namespace eprosima {
namespace fastdds {
namespace dds {
class RTPSReliableWriterQos
{
public:
FASTDDS_EXPORTED_API RTPSReliableWriterQos()
{
}
virtual FASTDDS_EXPORTED_API ~RTPSReliableWriterQos() = default;
bool operator ==(
const RTPSReliableWriterQos& b) const
{
return (this->times == b.times) &&
(this->disable_positive_acks == b.disable_positive_acks) &&
(this->disable_heartbeat_piggyback == b.disable_heartbeat_piggyback);
}
inline void clear()
{
*this = RTPSReliableWriterQos();
}
fastdds::rtps::WriterTimes times;
DisablePositiveACKsQosPolicy disable_positive_acks;
bool disable_heartbeat_piggyback = false;
};
class DataWriterQos
{
public:
FASTDDS_EXPORTED_API DataWriterQos();
FASTDDS_EXPORTED_API ~DataWriterQos() = default;
FASTDDS_EXPORTED_API bool operator ==(
const DataWriterQos& b) const
{
return (this->durability_ == b.durability()) &&
(this->durability_service_ == b.durability_service()) &&
(this->deadline_ == b.deadline()) &&
(this->latency_budget_ == b.latency_budget()) &&
(this->liveliness_ == b.liveliness()) &&
(this->reliability_ == b.reliability()) &&
(this->destination_order_ == b.destination_order()) &&
(this->history_ == b.history()) &&
(this->resource_limits_ == b.resource_limits()) &&
(this->transport_priority_ == b.transport_priority()) &&
(this->lifespan_ == b.lifespan()) &&
(this->user_data_ == b.user_data()) &&
(this->ownership_ == b.ownership()) &&
(this->ownership_strength_ == b.ownership_strength()) &&
(this->writer_data_lifecycle_ == b.writer_data_lifecycle()) &&
(this->publish_mode_ == b.publish_mode()) &&
(this->representation_ == b.representation()) &&
(this->properties_ == b.properties()) &&
(this->reliable_writer_qos_ == b.reliable_writer_qos()) &&
(this->endpoint_ == b.endpoint()) &&
(this->writer_resource_limits_ == b.writer_resource_limits()) &&
(this->data_sharing_ == b.data_sharing());
}
FASTDDS_EXPORTED_API WriterQos get_writerqos(
const PublisherQos& pqos,
const TopicQos& tqos) const;
FASTDDS_EXPORTED_API DurabilityQosPolicy& durability()
{
return durability_;
}
FASTDDS_EXPORTED_API const DurabilityQosPolicy& durability() const
{
return durability_;
}
FASTDDS_EXPORTED_API void durability(
const DurabilityQosPolicy& durability)
{
durability_ = durability;
}
FASTDDS_EXPORTED_API DurabilityServiceQosPolicy& durability_service()
{
return durability_service_;
}
FASTDDS_EXPORTED_API const DurabilityServiceQosPolicy& durability_service() const
{
return durability_service_;
}
FASTDDS_EXPORTED_API void durability_service(
const DurabilityServiceQosPolicy& durability_service)
{
durability_service_ = durability_service;
}
FASTDDS_EXPORTED_API DeadlineQosPolicy& deadline()
{
return deadline_;
}
FASTDDS_EXPORTED_API const DeadlineQosPolicy& deadline() const
{
return deadline_;
}
FASTDDS_EXPORTED_API void deadline(
const DeadlineQosPolicy& deadline)
{
deadline_ = deadline;
}
FASTDDS_EXPORTED_API LatencyBudgetQosPolicy& latency_budget()
{
return latency_budget_;
}
FASTDDS_EXPORTED_API const LatencyBudgetQosPolicy& latency_budget() const
{
return latency_budget_;
}
FASTDDS_EXPORTED_API void latency_budget(
const LatencyBudgetQosPolicy& latency_budget)
{
latency_budget_ = latency_budget;
}
FASTDDS_EXPORTED_API LivelinessQosPolicy& liveliness()
{
return liveliness_;
}
FASTDDS_EXPORTED_API const LivelinessQosPolicy& liveliness() const
{
return liveliness_;
}
FASTDDS_EXPORTED_API void liveliness(
const LivelinessQosPolicy& liveliness)
{
liveliness_ = liveliness;
}
FASTDDS_EXPORTED_API ReliabilityQosPolicy& reliability()
{
return reliability_;
}
FASTDDS_EXPORTED_API const ReliabilityQosPolicy& reliability() const
{
return reliability_;
}
FASTDDS_EXPORTED_API void reliability(
const ReliabilityQosPolicy& reliability)
{
reliability_ = reliability;
}
FASTDDS_EXPORTED_API DestinationOrderQosPolicy& destination_order()
{
return destination_order_;
}
FASTDDS_EXPORTED_API const DestinationOrderQosPolicy& destination_order() const
{
return destination_order_;
}
FASTDDS_EXPORTED_API void destination_order(
const DestinationOrderQosPolicy& destination_order)
{
destination_order_ = destination_order;
}
FASTDDS_EXPORTED_API HistoryQosPolicy& history()
{
return history_;
}
FASTDDS_EXPORTED_API const HistoryQosPolicy& history() const
{
return history_;
}
FASTDDS_EXPORTED_API void history(
const HistoryQosPolicy& history)
{
history_ = history;
}
FASTDDS_EXPORTED_API ResourceLimitsQosPolicy& resource_limits()
{
return resource_limits_;
}
FASTDDS_EXPORTED_API const ResourceLimitsQosPolicy& resource_limits() const
{
return resource_limits_;
}
FASTDDS_EXPORTED_API void resource_limits(
const ResourceLimitsQosPolicy& resource_limits)
{
resource_limits_ = resource_limits;
}
FASTDDS_EXPORTED_API TransportPriorityQosPolicy& transport_priority()
{
return transport_priority_;
}
FASTDDS_EXPORTED_API const TransportPriorityQosPolicy& transport_priority() const
{
return transport_priority_;
}
FASTDDS_EXPORTED_API void transport_priority(
const TransportPriorityQosPolicy& transport_priority)
{
transport_priority_ = transport_priority;
}
FASTDDS_EXPORTED_API LifespanQosPolicy& lifespan()
{
return lifespan_;
}
FASTDDS_EXPORTED_API const LifespanQosPolicy& lifespan() const
{
return lifespan_;
}
FASTDDS_EXPORTED_API void lifespan(
const LifespanQosPolicy& lifespan)
{
lifespan_ = lifespan;
}
FASTDDS_EXPORTED_API UserDataQosPolicy& user_data()
{
return user_data_;
}
FASTDDS_EXPORTED_API const UserDataQosPolicy& user_data() const
{
return user_data_;
}
FASTDDS_EXPORTED_API void user_data(
const UserDataQosPolicy& user_data)
{
user_data_ = user_data;
}
FASTDDS_EXPORTED_API OwnershipQosPolicy& ownership()
{
return ownership_;
}
FASTDDS_EXPORTED_API const OwnershipQosPolicy& ownership() const
{
return ownership_;
}
FASTDDS_EXPORTED_API void ownership(
const OwnershipQosPolicy& ownership)
{
ownership_ = ownership;
}
FASTDDS_EXPORTED_API OwnershipStrengthQosPolicy& ownership_strength()
{
return ownership_strength_;
}
FASTDDS_EXPORTED_API const OwnershipStrengthQosPolicy& ownership_strength() const
{
return ownership_strength_;
}
FASTDDS_EXPORTED_API void ownership_strength(
const OwnershipStrengthQosPolicy& ownership_strength)
{
ownership_strength_ = ownership_strength;
}
FASTDDS_EXPORTED_API WriterDataLifecycleQosPolicy& writer_data_lifecycle()
{
return writer_data_lifecycle_;
}
FASTDDS_EXPORTED_API const WriterDataLifecycleQosPolicy& writer_data_lifecycle() const
{
return writer_data_lifecycle_;
}
FASTDDS_EXPORTED_API void writer_data_lifecycle(
const WriterDataLifecycleQosPolicy& writer_data_lifecycle)
{
writer_data_lifecycle_ = writer_data_lifecycle;
}
FASTDDS_EXPORTED_API PublishModeQosPolicy& publish_mode()
{
return publish_mode_;
}
FASTDDS_EXPORTED_API const PublishModeQosPolicy& publish_mode() const
{
return publish_mode_;
}
FASTDDS_EXPORTED_API void publish_mode(
const PublishModeQosPolicy& publish_mode)
{
publish_mode_ = publish_mode;
}
FASTDDS_EXPORTED_API DataRepresentationQosPolicy& representation()
{
return representation_;
}
FASTDDS_EXPORTED_API const DataRepresentationQosPolicy& representation() const
{
return representation_;
}
FASTDDS_EXPORTED_API void representation(
const DataRepresentationQosPolicy& representation)
{
representation_ = representation;
}
FASTDDS_EXPORTED_API PropertyPolicyQos& properties()
{
return properties_;
}
FASTDDS_EXPORTED_API const PropertyPolicyQos& properties() const
{
return properties_;
}
FASTDDS_EXPORTED_API void properties(
const PropertyPolicyQos& properties)
{
properties_ = properties;
}
FASTDDS_EXPORTED_API RTPSReliableWriterQos& reliable_writer_qos()
{
return reliable_writer_qos_;
}
FASTDDS_EXPORTED_API const RTPSReliableWriterQos& reliable_writer_qos() const
{
return reliable_writer_qos_;
}
FASTDDS_EXPORTED_API void reliable_writer_qos(
const RTPSReliableWriterQos& reliable_writer_qos)
{
reliable_writer_qos_ = reliable_writer_qos;
}
FASTDDS_EXPORTED_API RTPSEndpointQos& endpoint()
{
return endpoint_;
}
FASTDDS_EXPORTED_API const RTPSEndpointQos& endpoint() const
{
return endpoint_;
}
FASTDDS_EXPORTED_API void endpoint(
const RTPSEndpointQos& endpoint)
{
endpoint_ = endpoint;
}
FASTDDS_EXPORTED_API WriterResourceLimitsQos& writer_resource_limits()
{
return writer_resource_limits_;
}
FASTDDS_EXPORTED_API const WriterResourceLimitsQos& writer_resource_limits() const
{
return writer_resource_limits_;
}
FASTDDS_EXPORTED_API void writer_resource_limits(
const WriterResourceLimitsQos& writer_resource_limits)
{
writer_resource_limits_ = writer_resource_limits;
}
FASTDDS_EXPORTED_API DataSharingQosPolicy& data_sharing()
{
return data_sharing_;
}
FASTDDS_EXPORTED_API const DataSharingQosPolicy& data_sharing() const
{
return data_sharing_;
}
FASTDDS_EXPORTED_API void data_sharing(
const DataSharingQosPolicy& data_sharing)
{
data_sharing_ = data_sharing;
}
private:
DurabilityQosPolicy durability_;
DurabilityServiceQosPolicy durability_service_;
DeadlineQosPolicy deadline_;
LatencyBudgetQosPolicy latency_budget_;
LivelinessQosPolicy liveliness_;
ReliabilityQosPolicy reliability_;
DestinationOrderQosPolicy destination_order_;
HistoryQosPolicy history_;
ResourceLimitsQosPolicy resource_limits_;
TransportPriorityQosPolicy transport_priority_;
LifespanQosPolicy lifespan_;
UserDataQosPolicy user_data_;
OwnershipQosPolicy ownership_;
OwnershipStrengthQosPolicy ownership_strength_;
WriterDataLifecycleQosPolicy writer_data_lifecycle_;
PublishModeQosPolicy publish_mode_;
DataRepresentationQosPolicy representation_;
PropertyPolicyQos properties_;
RTPSReliableWriterQos reliable_writer_qos_;
RTPSEndpointQos endpoint_;
WriterResourceLimitsQos writer_resource_limits_;
DataSharingQosPolicy data_sharing_;
};
FASTDDS_EXPORTED_API extern const DataWriterQos DATAWRITER_QOS_DEFAULT;
FASTDDS_EXPORTED_API extern const DataWriterQos DATAWRITER_QOS_USE_TOPIC_QOS;
} // namespace dds
} // namespace fastdds
} // namespace eprosima
#endif // FASTDDS_DDS_PUBLISHER_QOS__DATAWRITERQOS_HPP