.. _program_listing_file_include_domain_bridge_qos_options.hpp: Program Listing for File qos_options.hpp ======================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/domain_bridge/qos_options.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 2021, Open Source Robotics Foundation, Inc. // // 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 DOMAIN_BRIDGE__QOS_OPTIONS_HPP_ #define DOMAIN_BRIDGE__QOS_OPTIONS_HPP_ #include #include "rclcpp/qos.hpp" #include "domain_bridge/visibility_control.hpp" namespace domain_bridge { class QosOptions { public: DOMAIN_BRIDGE_PUBLIC QosOptions() = default; DOMAIN_BRIDGE_PUBLIC std::optional reliability() const; DOMAIN_BRIDGE_PUBLIC QosOptions & reliability(const rclcpp::ReliabilityPolicy & reliability); DOMAIN_BRIDGE_PUBLIC std::optional durability() const; DOMAIN_BRIDGE_PUBLIC QosOptions & durability(const rclcpp::DurabilityPolicy & durability); DOMAIN_BRIDGE_PUBLIC rclcpp::HistoryPolicy history() const; DOMAIN_BRIDGE_PUBLIC QosOptions & history(const rclcpp::HistoryPolicy & history); DOMAIN_BRIDGE_PUBLIC size_t depth() const; DOMAIN_BRIDGE_PUBLIC QosOptions & depth(const size_t & depth); DOMAIN_BRIDGE_PUBLIC std::optional deadline() const; DOMAIN_BRIDGE_PUBLIC QosOptions & deadline(int64_t deadline); DOMAIN_BRIDGE_PUBLIC QosOptions & deadline_auto(); DOMAIN_BRIDGE_PUBLIC std::optional lifespan() const; DOMAIN_BRIDGE_PUBLIC QosOptions & lifespan(int64_t lifespan); DOMAIN_BRIDGE_PUBLIC QosOptions & lifespan_auto(); DOMAIN_BRIDGE_PUBLIC std::optional liveliness() const; DOMAIN_BRIDGE_PUBLIC QosOptions & liveliness(const rclcpp::LivelinessPolicy & liveliness); DOMAIN_BRIDGE_PUBLIC QosOptions & liveliness_auto(); DOMAIN_BRIDGE_PUBLIC std::optional liveliness_lease_duration() const; DOMAIN_BRIDGE_PUBLIC QosOptions & liveliness_lease_duration(int64_t liveliness_lease_duration); private: std::optional reliability_; std::optional durability_; rclcpp::HistoryPolicy history_{rclcpp::HistoryPolicy::KeepLast}; size_t depth_{10}; std::optional deadline_{0}; std::optional lifespan_{0}; std::optional liveliness_; std::optional liveliness_lease_duration_{0}; }; // class QosOptions } // namespace domain_bridge #endif // DOMAIN_BRIDGE__QOS_OPTIONS_HPP_