Program Listing for File TopicQos.hpp

Return to documentation for file (/tmp/ws/src/fastrtps/include/fastdds/dds/topic/qos/TopicQos.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_TOPICQOS_HPP
#define _FASTDDS_TOPICQOS_HPP

#include <fastdds/dds/core/policy/QosPolicies.hpp>
#include <fastrtps/attributes/TopicAttributes.h>

#include <fastdds/dds/log/Log.hpp>

namespace eprosima {
namespace fastdds {
namespace dds {

class TopicQos
{
public:

    RTPS_DllAPI TopicQos();

    bool operator ==(
            const TopicQos& b) const
    {
        return (this->topic_data_ == b.topic_data()) &&
               (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->ownership_ == b.ownership());
    }

    const TopicDataQosPolicy& topic_data() const
    {
        return topic_data_;
    }

    TopicDataQosPolicy& topic_data()
    {
        return topic_data_;
    }

    void topic_data(
            const TopicDataQosPolicy& value)
    {
        topic_data_ = value;
    }

    const DurabilityQosPolicy& durability() const
    {
        return durability_;
    }

    DurabilityQosPolicy& durability()
    {
        return durability_;
    }

    void durability(
            const DurabilityQosPolicy& durability)
    {
        durability_ = durability;
    }

    const DurabilityServiceQosPolicy& durability_service() const
    {
        return durability_service_;
    }

    DurabilityServiceQosPolicy& durability_service()
    {
        return durability_service_;
    }

    void durability_service(
            const DurabilityServiceQosPolicy& durability_service)
    {
        durability_service_ = durability_service;
    }

    const DeadlineQosPolicy& deadline() const
    {
        return deadline_;
    }

    DeadlineQosPolicy& deadline()
    {
        return deadline_;
    }

    void deadline(
            const DeadlineQosPolicy& deadline)
    {
        deadline_ = deadline;
    }

    const LatencyBudgetQosPolicy& latency_budget() const
    {
        return latency_budget_;
    }

    LatencyBudgetQosPolicy& latency_budget()
    {
        return latency_budget_;
    }

    void latency_budget(
            const LatencyBudgetQosPolicy& latency_budget)
    {
        latency_budget_ = latency_budget;
    }

    const LivelinessQosPolicy& liveliness() const
    {
        return liveliness_;
    }

    LivelinessQosPolicy& liveliness()
    {
        return liveliness_;
    }

    void liveliness(
            const LivelinessQosPolicy& liveliness)
    {
        liveliness_ = liveliness;
    }

    const ReliabilityQosPolicy& reliability() const
    {
        return reliability_;
    }

    ReliabilityQosPolicy& reliability()
    {
        return reliability_;
    }

    void reliability(
            const ReliabilityQosPolicy& reliability)
    {
        reliability_ = reliability;
    }

    const DestinationOrderQosPolicy& destination_order() const
    {
        return destination_order_;
    }

    DestinationOrderQosPolicy& destination_order()
    {
        return destination_order_;
    }

    void destination_order(
            const DestinationOrderQosPolicy& destination_order)
    {
        destination_order_ = destination_order;
    }

    const HistoryQosPolicy& history() const
    {
        return history_;
    }

    HistoryQosPolicy& history()
    {
        return history_;
    }

    void history(
            const HistoryQosPolicy& history)
    {
        history_ = history;
    }

    const ResourceLimitsQosPolicy& resource_limits() const
    {
        return resource_limits_;
    }

    ResourceLimitsQosPolicy& resource_limits()
    {
        return resource_limits_;
    }

    void resource_limits(
            const ResourceLimitsQosPolicy& resource_limits)
    {
        resource_limits_ = resource_limits;
    }

    const TransportPriorityQosPolicy& transport_priority() const
    {
        return transport_priority_;
    }

    TransportPriorityQosPolicy& transport_priority()
    {
        return transport_priority_;
    }

    void transport_priority(
            const TransportPriorityQosPolicy& transport_priority)
    {
        transport_priority_ = transport_priority;
    }

    const LifespanQosPolicy& lifespan() const
    {
        return lifespan_;
    }

    LifespanQosPolicy& lifespan()
    {
        return lifespan_;
    }

    void lifespan(
            const LifespanQosPolicy& lifespan)
    {
        lifespan_ = lifespan;
    }

    const OwnershipQosPolicy& ownership() const
    {
        return ownership_;
    }

    OwnershipQosPolicy& ownership()
    {
        return ownership_;
    }

    void ownership(
            const OwnershipQosPolicy& ownership)
    {
        ownership_ = ownership;
    }

    const DataRepresentationQosPolicy& representation() const
    {
        return representation_;
    }

    DataRepresentationQosPolicy& representation()
    {
        return representation_;
    }

    void representation(
            const DataRepresentationQosPolicy& representation)
    {
        representation_ = representation;
    }

private:

    TopicDataQosPolicy topic_data_;

    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_;

    OwnershipQosPolicy ownership_;

    DataRepresentationQosPolicy representation_;
};

RTPS_DllAPI extern const TopicQos TOPIC_QOS_DEFAULT;

} // namespace dds
} // namespace fastdds
} // namespace eprosima

#endif // _FASTDDS_TOPICQOS_HPP