Program Listing for File DataWriterQos.hpp
↰ Return to documentation for file (/tmp/ws/src/fastrtps/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_DATAWRITERQOS_HPP
#define _FASTDDS_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.h>
namespace eprosima {
namespace fastdds {
namespace dds {
class RTPSReliableWriterQos
{
public:
RTPS_DllAPI RTPSReliableWriterQos()
{
}
virtual RTPS_DllAPI ~RTPSReliableWriterQos() = default;
bool operator ==(
const RTPSReliableWriterQos& b) const
{
return (this->times == b.times) &&
(this->disable_positive_acks == b.disable_positive_acks);
}
fastrtps::rtps::WriterTimes times;
DisablePositiveACKsQosPolicy disable_positive_acks;
bool disable_heartbeat_piggyback = false;
};
class DataWriterQos
{
public:
RTPS_DllAPI DataWriterQos();
RTPS_DllAPI ~DataWriterQos() = default;
RTPS_DllAPI 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->throughput_controller_ == b.throughput_controller()) &&
(this->data_sharing_ == b.data_sharing());
}
RTPS_DllAPI WriterQos get_writerqos(
const PublisherQos& pqos,
const TopicQos& tqos) const;
RTPS_DllAPI DurabilityQosPolicy& durability()
{
return durability_;
}
RTPS_DllAPI const DurabilityQosPolicy& durability() const
{
return durability_;
}
RTPS_DllAPI void durability(
const DurabilityQosPolicy& durability)
{
durability_ = durability;
}
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& durability_service)
{
durability_service_ = durability_service;
}
RTPS_DllAPI DeadlineQosPolicy& deadline()
{
return deadline_;
}
RTPS_DllAPI const DeadlineQosPolicy& deadline() const
{
return deadline_;
}
RTPS_DllAPI void deadline(
const DeadlineQosPolicy& deadline)
{
deadline_ = deadline;
}
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& latency_budget)
{
latency_budget_ = latency_budget;
}
RTPS_DllAPI LivelinessQosPolicy& liveliness()
{
return liveliness_;
}
RTPS_DllAPI const LivelinessQosPolicy& liveliness() const
{
return liveliness_;
}
RTPS_DllAPI void liveliness(
const LivelinessQosPolicy& liveliness)
{
liveliness_ = liveliness;
}
RTPS_DllAPI ReliabilityQosPolicy& reliability()
{
return reliability_;
}
RTPS_DllAPI const ReliabilityQosPolicy& reliability() const
{
return reliability_;
}
RTPS_DllAPI void reliability(
const ReliabilityQosPolicy& reliability)
{
reliability_ = reliability;
}
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& destination_order)
{
destination_order_ = destination_order;
}
RTPS_DllAPI HistoryQosPolicy& history()
{
return history_;
}
RTPS_DllAPI const HistoryQosPolicy& history() const
{
return history_;
}
RTPS_DllAPI void history(
const HistoryQosPolicy& history)
{
history_ = history;
}
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& resource_limits)
{
resource_limits_ = resource_limits;
}
RTPS_DllAPI TransportPriorityQosPolicy& transport_priority()
{
return transport_priority_;
}
RTPS_DllAPI const TransportPriorityQosPolicy& transport_priority() const
{
return transport_priority_;
}
RTPS_DllAPI void transport_priority(
const TransportPriorityQosPolicy& transport_priority)
{
transport_priority_ = transport_priority;
}
RTPS_DllAPI LifespanQosPolicy& lifespan()
{
return lifespan_;
}
RTPS_DllAPI const LifespanQosPolicy& lifespan() const
{
return lifespan_;
}
RTPS_DllAPI void lifespan(
const LifespanQosPolicy& lifespan)
{
lifespan_ = lifespan;
}
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& user_data)
{
user_data_ = user_data;
}
RTPS_DllAPI OwnershipQosPolicy& ownership()
{
return ownership_;
}
RTPS_DllAPI const OwnershipQosPolicy& ownership() const
{
return ownership_;
}
RTPS_DllAPI void ownership(
const OwnershipQosPolicy& ownership)
{
ownership_ = ownership;
}
RTPS_DllAPI OwnershipStrengthQosPolicy& ownership_strength()
{
return ownership_strength_;
}
RTPS_DllAPI const OwnershipStrengthQosPolicy& ownership_strength() const
{
return ownership_strength_;
}
RTPS_DllAPI void ownership_strength(
const OwnershipStrengthQosPolicy& ownership_strength)
{
ownership_strength_ = ownership_strength;
}
RTPS_DllAPI WriterDataLifecycleQosPolicy& writer_data_lifecycle()
{
return writer_data_lifecycle_;
}
RTPS_DllAPI const WriterDataLifecycleQosPolicy& writer_data_lifecycle() const
{
return writer_data_lifecycle_;
}
RTPS_DllAPI void writer_data_lifecycle(
const WriterDataLifecycleQosPolicy& writer_data_lifecycle)
{
writer_data_lifecycle_ = writer_data_lifecycle;
}
RTPS_DllAPI PublishModeQosPolicy& publish_mode()
{
return publish_mode_;
}
RTPS_DllAPI const PublishModeQosPolicy& publish_mode() const
{
return publish_mode_;
}
RTPS_DllAPI void publish_mode(
const PublishModeQosPolicy& publish_mode)
{
publish_mode_ = publish_mode;
}
RTPS_DllAPI DataRepresentationQosPolicy& representation()
{
return representation_;
}
RTPS_DllAPI const DataRepresentationQosPolicy& representation() const
{
return representation_;
}
RTPS_DllAPI void representation(
const DataRepresentationQosPolicy& representation)
{
representation_ = representation;
}
RTPS_DllAPI PropertyPolicyQos& properties()
{
return properties_;
}
RTPS_DllAPI const PropertyPolicyQos& properties() const
{
return properties_;
}
RTPS_DllAPI void properties(
const PropertyPolicyQos& properties)
{
properties_ = properties;
}
RTPS_DllAPI RTPSReliableWriterQos& reliable_writer_qos()
{
return reliable_writer_qos_;
}
RTPS_DllAPI const RTPSReliableWriterQos& reliable_writer_qos() const
{
return reliable_writer_qos_;
}
RTPS_DllAPI void reliable_writer_qos(
const RTPSReliableWriterQos& reliable_writer_qos)
{
reliable_writer_qos_ = reliable_writer_qos;
}
RTPS_DllAPI RTPSEndpointQos& endpoint()
{
return endpoint_;
}
RTPS_DllAPI const RTPSEndpointQos& endpoint() const
{
return endpoint_;
}
RTPS_DllAPI void endpoint(
const RTPSEndpointQos& endpoint)
{
endpoint_ = endpoint;
}
RTPS_DllAPI WriterResourceLimitsQos& writer_resource_limits()
{
return writer_resource_limits_;
}
RTPS_DllAPI const WriterResourceLimitsQos& writer_resource_limits() const
{
return writer_resource_limits_;
}
RTPS_DllAPI void writer_resource_limits(
const WriterResourceLimitsQos& writer_resource_limits)
{
writer_resource_limits_ = writer_resource_limits;
}
RTPS_DllAPI fastrtps::rtps::ThroughputControllerDescriptor& throughput_controller()
{
return throughput_controller_;
}
RTPS_DllAPI const fastrtps::rtps::ThroughputControllerDescriptor& throughput_controller() const
{
return throughput_controller_;
}
RTPS_DllAPI void throughput_controller(
const fastrtps::rtps::ThroughputControllerDescriptor& throughput_controller)
{
throughput_controller_ = throughput_controller;
}
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_;
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_;
fastrtps::rtps::ThroughputControllerDescriptor throughput_controller_;
DataSharingQosPolicy data_sharing_;
};
RTPS_DllAPI extern const DataWriterQos DATAWRITER_QOS_DEFAULT;
} // namespace dds
} // namespace fastdds
} // namespace eprosima
#endif // _FASTDDS_DATAWRITERQOS_HPP