Skip to content

Class nebula::agnocast_wrapper::Node

ClassList > nebula > agnocast_wrapper > Node

Node class for the non-Agnocast build.More...

  • #include <node.hpp>

Inherits the following classes: std::enable_shared_from_this< Node >

Public Types

Type Name
typedef std::shared_ptr< Node > SharedPtr

Public Functions

Type Name
Node (const std::string & node_name, const rclcpp::NodeOptions & options=rclcpp::NodeOptions())
Node (const std::string & node_name, const std::string & namespace_, const rclcpp::NodeOptions & options=rclcpp::NodeOptions())
Node (const Node &) = delete
Node (Node &&) = delete
rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr add_on_set_parameters_callback (OnSetParametersCallbackType callback)
rclcpp::CallbackGroup::SharedPtr create_callback_group (rclcpp::CallbackGroupType group_type, bool automatically_add_to_executor_with_node=true)
create_client (const std::string & service_name, const rclcpp::QoS & qos=rclcpp::ServicesQoS(), rclcpp::CallbackGroup::SharedPtr group=nullptr)
rclcpp::Publisher< MessageT >::SharedPtr create_publisher (const std::string & topic_name, const rclcpp::QoS & qos, const rclcpp::PublisherOptions & options=rclcpp::PublisherOptions{})
rclcpp::Publisher< MessageT >::SharedPtr create_publisher (const std::string & topic_name, size_t qos_history_depth)
create_service (const std::string & service_name, Func && callback, const rclcpp::QoS & qos=rclcpp::ServicesQoS(), rclcpp::CallbackGroup::SharedPtr group=nullptr)
create_service (const std::string & service_name, Func && callback, const rclcpp::QoS & qos=rclcpp::ServicesQoS(), rclcpp::CallbackGroup::SharedPtr group=nullptr)
create_service (const std::string &, Func &&, const rclcpp::QoS &=rclcpp::ServicesQoS(), rclcpp::CallbackGroup::SharedPtr=nullptr)
rclcpp::Subscription< MessageT >::SharedPtr create_subscription (const std::string & topic_name, const rclcpp::QoS & qos, Func && callback, const rclcpp::SubscriptionOptions & options=rclcpp::SubscriptionOptions{})
rclcpp::Subscription< MessageT >::SharedPtr create_subscription (const std::string & topic_name, size_t qos_history_depth, Func && callback, const rclcpp::SubscriptionOptions & options=rclcpp::SubscriptionOptions{})
rclcpp::TimerBase::SharedPtr create_wall_timer (std::chrono::duration< DurationRepT, DurationT > period, CallbackT && callback, rclcpp::CallbackGroup::SharedPtr group=nullptr)
const rclcpp::ParameterValue & declare_parameter (const std::string & name, const rclcpp::ParameterValue & default_value, const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{}, bool ignore_override=false)
const rclcpp::ParameterValue & declare_parameter (const std::string & name, rclcpp::ParameterType type, const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{}, bool ignore_override=false)
auto declare_parameter (const std::string & name, const ParameterT & default_value, const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{}, bool ignore_override=false)
ParameterT declare_parameter (const std::string & name, const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{}, bool ignore_override=false)
rcl_interfaces::msg::ParameterDescriptor describe_parameter (const std::string & name) const
std::vector< rcl_interfaces::msg::ParameterDescriptor > describe_parameters (const std::vector< std::string > & names) const
rclcpp::Clock::SharedPtr get_clock ()
const char * get_fully_qualified_name () const
rclcpp::Logger get_logger () const
const char * get_name () const
const char * get_namespace () const
rclcpp::node_interfaces::NodeBaseInterface::SharedPtr get_node_base_interface () const
rclcpp::node_interfaces::NodeParametersInterface::SharedPtr get_node_parameters_interface () const
rclcpp::node_interfaces::NodeTopicsInterface::SharedPtr get_node_topics_interface () const
rclcpp::Parameter get_parameter (const std::string & name) const
bool get_parameter (const std::string & name, rclcpp::Parameter & parameter) const
bool get_parameter (const std::string & name, ParameterT & parameter) const
std::vector< uint8_t > get_parameter_types (const std::vector< std::string > & names) const
std::vector< rclcpp::Parameter > get_parameters (const std::vector< std::string > & names) const
bool get_parameters (const std::string & prefix, std::map< std::string, ParameterT > & values) const
std::shared_ptr< rclcpp::Node > get_rclcpp_node () const
bool has_parameter (const std::string & name) const
rcl_interfaces::msg::ListParametersResult list_parameters (const std::vector< std::string > & prefixes, uint64_t depth) const
rclcpp::Time now () const
Node & operator= (const Node &) = delete
Node & operator= (Node &&) = delete
void remove_on_set_parameters_callback (const rclcpp::node_interfaces::OnSetParametersCallbackHandle *const handler)
rcl_interfaces::msg::SetParametersResult set_parameter (const rclcpp::Parameter & parameter)
std::vector< rcl_interfaces::msg::SetParametersResult > set_parameters (const std::vector< rclcpp::Parameter > & parameters)
rcl_interfaces::msg::SetParametersResult set_parameters_atomically (const std::vector< rclcpp::Parameter > & parameters)
void undeclare_parameter (const std::string & name)
virtual ~Node () = default

Detailed Description

Owns an internal rclcpp::Node and forwards a curated set of members to it; it does NOT derive from rclcpp::Node. This keeps the public surface identical to the Agnocast-build Node, so code compiles under both ENABLE_AGNOCAST=0 and =1. Deriving from rclcpp::Node would instead leak its full API into the =0 build, allowing =0-only code that breaks under =1.

Public Types Documentation

typedef SharedPtr

using nebula::agnocast_wrapper::Node::SharedPtr =  std::shared_ptr<Node>;

Public Functions Documentation

function Node [1/4]

inline explicit nebula::agnocast_wrapper::Node::Node (
    const std::string & node_name,
    const rclcpp::NodeOptions & options=rclcpp::NodeOptions()
) 

function Node [2/4]

inline explicit nebula::agnocast_wrapper::Node::Node (
    const std::string & node_name,
    const std::string & namespace_,
    const rclcpp::NodeOptions & options=rclcpp::NodeOptions()
) 

function Node [3/4]

nebula::agnocast_wrapper::Node::Node (
    const Node &
) = delete

function Node [4/4]

nebula::agnocast_wrapper::Node::Node (
    Node &&
) = delete

function add_on_set_parameters_callback

inline rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr nebula::agnocast_wrapper::Node::add_on_set_parameters_callback (
    OnSetParametersCallbackType callback
) 

function create_callback_group

inline rclcpp::CallbackGroup::SharedPtr nebula::agnocast_wrapper::Node::create_callback_group (
    rclcpp::CallbackGroupType group_type,
    bool automatically_add_to_executor_with_node=true
) 

function create_client

template<typename ServiceT>
inline nebula::agnocast_wrapper::Node::create_client (
    const std::string & service_name,
    const rclcpp::QoS & qos=rclcpp::ServicesQoS(),
    rclcpp::CallbackGroup::SharedPtr group=nullptr
) 

function create_publisher [1/2]

template<typename MessageT>
inline rclcpp::Publisher< MessageT > ::SharedPtr nebula::agnocast_wrapper::Node::create_publisher (
    const std::string & topic_name,
    const rclcpp::QoS & qos,
    const rclcpp::PublisherOptions & options=rclcpp::PublisherOptions{}
) 

function create_publisher [2/2]

template<typename MessageT>
inline rclcpp::Publisher< MessageT > ::SharedPtr nebula::agnocast_wrapper::Node::create_publisher (
    const std::string & topic_name,
    size_t qos_history_depth
) 

function create_service [1/3]

template<typename ServiceT, typename Func, std::enable_if_t< is_message_ptr_service_callback_v < Func, ServiceT >, int >>
inline nebula::agnocast_wrapper::Node::create_service (
    const std::string & service_name,
    Func && callback,
    const rclcpp::QoS & qos=rclcpp::ServicesQoS(),
    rclcpp::CallbackGroup::SharedPtr group=nullptr
) 

function create_service [1/3]

template<typename ServiceT, typename Func, std::enable_if_t< ! is_message_ptr_service_callback_v < Func, ServiceT > && is_shared_ptr_service_callback_v < Func, ServiceT >, int >>
inline nebula::agnocast_wrapper::Node::create_service (
    const std::string & service_name,
    Func && callback,
    const rclcpp::QoS & qos=rclcpp::ServicesQoS(),
    rclcpp::CallbackGroup::SharedPtr group=nullptr
) 

function create_service [3/3]

template<typename ServiceT, typename Func, std::enable_if_t< ! is_message_ptr_service_callback_v < Func, ServiceT > &&! is_shared_ptr_service_callback_v < Func, ServiceT >, int >>
inline nebula::agnocast_wrapper::Node::create_service (
    const std::string &,
    Func &&,
    const rclcpp::QoS &=rclcpp::ServicesQoS(),
    rclcpp::CallbackGroup::SharedPtr=nullptr
) 

function create_subscription [1/2]

template<typename MessageT, typename Func>
inline rclcpp::Subscription< MessageT > ::SharedPtr nebula::agnocast_wrapper::Node::create_subscription (
    const std::string & topic_name,
    const rclcpp::QoS & qos,
    Func && callback,
    const rclcpp::SubscriptionOptions & options=rclcpp::SubscriptionOptions{}
) 

function create_subscription [2/2]

template<typename MessageT, typename Func>
inline rclcpp::Subscription< MessageT > ::SharedPtr nebula::agnocast_wrapper::Node::create_subscription (
    const std::string & topic_name,
    size_t qos_history_depth,
    Func && callback,
    const rclcpp::SubscriptionOptions & options=rclcpp::SubscriptionOptions{}
) 

function create_wall_timer

template<typename DurationRepT, typename DurationT, typename CallbackT>
inline rclcpp::TimerBase::SharedPtr nebula::agnocast_wrapper::Node::create_wall_timer (
    std::chrono::duration< DurationRepT, DurationT > period,
    CallbackT && callback,
    rclcpp::CallbackGroup::SharedPtr group=nullptr
) 

function declare_parameter [1/4]

inline const rclcpp::ParameterValue & nebula::agnocast_wrapper::Node::declare_parameter (
    const std::string & name,
    const rclcpp::ParameterValue & default_value,
    const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{},
    bool ignore_override=false
) 

function declare_parameter [2/4]

inline const rclcpp::ParameterValue & nebula::agnocast_wrapper::Node::declare_parameter (
    const std::string & name,
    rclcpp::ParameterType type,
    const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{},
    bool ignore_override=false
) 

function declare_parameter [3/4]

template<typename ParameterT>
inline auto nebula::agnocast_wrapper::Node::declare_parameter (
    const std::string & name,
    const ParameterT & default_value,
    const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{},
    bool ignore_override=false
) 

function declare_parameter [4/4]

template<typename ParameterT>
inline ParameterT nebula::agnocast_wrapper::Node::declare_parameter (
    const std::string & name,
    const rcl_interfaces::msg::ParameterDescriptor & descriptor=rcl_interfaces::msg::ParameterDescriptor{},
    bool ignore_override=false
) 

function describe_parameter

inline rcl_interfaces::msg::ParameterDescriptor nebula::agnocast_wrapper::Node::describe_parameter (
    const std::string & name
) const

function describe_parameters

inline std::vector< rcl_interfaces::msg::ParameterDescriptor > nebula::agnocast_wrapper::Node::describe_parameters (
    const std::vector< std::string > & names
) const

function get_clock

inline rclcpp::Clock::SharedPtr nebula::agnocast_wrapper::Node::get_clock () 

function get_fully_qualified_name

inline const char * nebula::agnocast_wrapper::Node::get_fully_qualified_name () const

function get_logger

inline rclcpp::Logger nebula::agnocast_wrapper::Node::get_logger () const

function get_name

inline const char * nebula::agnocast_wrapper::Node::get_name () const

function get_namespace

inline const char * nebula::agnocast_wrapper::Node::get_namespace () const

function get_node_base_interface

inline rclcpp::node_interfaces::NodeBaseInterface::SharedPtr nebula::agnocast_wrapper::Node::get_node_base_interface () const

function get_node_parameters_interface

inline rclcpp::node_interfaces::NodeParametersInterface::SharedPtr nebula::agnocast_wrapper::Node::get_node_parameters_interface () const

function get_node_topics_interface

inline rclcpp::node_interfaces::NodeTopicsInterface::SharedPtr nebula::agnocast_wrapper::Node::get_node_topics_interface () const

function get_parameter [1/3]

inline rclcpp::Parameter nebula::agnocast_wrapper::Node::get_parameter (
    const std::string & name
) const

function get_parameter [2/3]

inline bool nebula::agnocast_wrapper::Node::get_parameter (
    const std::string & name,
    rclcpp::Parameter & parameter
) const

function get_parameter [3/3]

template<typename ParameterT>
inline bool nebula::agnocast_wrapper::Node::get_parameter (
    const std::string & name,
    ParameterT & parameter
) const

function get_parameter_types

inline std::vector< uint8_t > nebula::agnocast_wrapper::Node::get_parameter_types (
    const std::vector< std::string > & names
) const

function get_parameters [1/2]

inline std::vector< rclcpp::Parameter > nebula::agnocast_wrapper::Node::get_parameters (
    const std::vector< std::string > & names
) const

function get_parameters [2/2]

template<typename ParameterT>
inline bool nebula::agnocast_wrapper::Node::get_parameters (
    const std::string & prefix,
    std::map< std::string, ParameterT > & values
) const

function get_rclcpp_node

inline std::shared_ptr< rclcpp::Node > nebula::agnocast_wrapper::Node::get_rclcpp_node () const

function has_parameter

inline bool nebula::agnocast_wrapper::Node::has_parameter (
    const std::string & name
) const

function list_parameters

inline rcl_interfaces::msg::ListParametersResult nebula::agnocast_wrapper::Node::list_parameters (
    const std::vector< std::string > & prefixes,
    uint64_t depth
) const

function now

inline rclcpp::Time nebula::agnocast_wrapper::Node::now () const

function operator=

Node & nebula::agnocast_wrapper::Node::operator= (
    const Node &
) = delete

function operator=

Node & nebula::agnocast_wrapper::Node::operator= (
    Node &&
) = delete

function remove_on_set_parameters_callback

inline void nebula::agnocast_wrapper::Node::remove_on_set_parameters_callback (
    const rclcpp::node_interfaces::OnSetParametersCallbackHandle *const handler
) 

function set_parameter

inline rcl_interfaces::msg::SetParametersResult nebula::agnocast_wrapper::Node::set_parameter (
    const rclcpp::Parameter & parameter
) 

function set_parameters

inline std::vector< rcl_interfaces::msg::SetParametersResult > nebula::agnocast_wrapper::Node::set_parameters (
    const std::vector< rclcpp::Parameter > & parameters
) 

function set_parameters_atomically

inline rcl_interfaces::msg::SetParametersResult nebula::agnocast_wrapper::Node::set_parameters_atomically (
    const std::vector< rclcpp::Parameter > & parameters
) 

function undeclare_parameter

inline void nebula::agnocast_wrapper::Node::undeclare_parameter (
    const std::string & name
) 

function ~Node

virtual nebula::agnocast_wrapper::Node::~Node () = default


The documentation for this class was generated from the following file src/nebula_core/nebula_core_ros/include/nebula_core_ros/agnocast_wrapper/node.hpp