Class NodeBaseInterface
Defined in File node_base_interface.hpp
Inheritance Relationships
Derived Type
public rclcpp::node_interfaces::NodeBase
(Class NodeBase)
Class Documentation
-
class NodeBaseInterface
Pure virtual interface class for the NodeBase part of the Node API.
Subclassed by rclcpp::node_interfaces::NodeBase
Public Types
-
using CallbackGroupFunction = std::function<void(rclcpp::CallbackGroup::SharedPtr)>
Public Functions
-
virtual ~NodeBaseInterface() = default
-
virtual const char *get_name() const = 0
Return the name of the node.
- Returns:
The name of the node.
-
virtual const char *get_namespace() const = 0
Return the namespace of the node.
- Returns:
The namespace of the node.
-
virtual const char *get_fully_qualified_name() const = 0
Return the fully qualified name of the node.
- Returns:
The fully qualified name of the node.
-
virtual rclcpp::Context::SharedPtr get_context() = 0
Return the context of the node.
- Returns:
SharedPtr to the node’s context.
-
virtual rcl_node_t *get_rcl_node_handle() = 0
Return the rcl_node_t node handle (non-const version).
-
virtual const rcl_node_t *get_rcl_node_handle() const = 0
Return the rcl_node_t node handle (const version).
Return the rcl_node_t node handle in a std::shared_ptr.
This handle remains valid after the Node is destroyed. The actual rcl node is not finalized until it is out of scope everywhere.
Return the rcl_node_t node handle in a std::shared_ptr.
This handle remains valid after the Node is destroyed. The actual rcl node is not finalized until it is out of scope everywhere.
-
virtual rclcpp::CallbackGroup::SharedPtr create_callback_group(rclcpp::CallbackGroupType group_type, bool automatically_add_to_executor_with_node = true) = 0
Create and return a callback group.
-
virtual rclcpp::CallbackGroup::SharedPtr get_default_callback_group() = 0
Return the default callback group.
Return true if the given callback group is associated with this node.
-
virtual void for_each_callback_group(const CallbackGroupFunction &func) = 0
Iterate over the stored callback groups, calling the given function on each valid one.
This method is called in a thread-safe way, and also makes sure to only call the given function on those items that are still valid.
- Parameters:
func – [in] The callback function to call on each valid callback group.
-
virtual std::atomic_bool &get_associated_with_executor_atomic() = 0
Return the atomic bool which is used to ensure only one executor is used.
-
virtual rclcpp::GuardCondition &get_notify_guard_condition() = 0
Return a guard condition that should be notified when the internal node state changes.
For example, this should be notified when a publisher is added or removed.
- Returns:
the GuardCondition if it is valid, else throw runtime error
Return a guard condition that should be notified when the internal node state changes.
For example, this should be notified when a publisher is added or removed.
- Returns:
the GuardCondition if it is valid, else nullptr
-
virtual void trigger_notify_guard_condition() = 0
Trigger the guard condition that notifies of internal node state changes.
For example, this should be notified when a publisher is added or removed.
-
virtual bool get_use_intra_process_default() const = 0
Return the default preference for using intra process communication.
-
virtual bool get_enable_topic_statistics_default() const = 0
Return the default preference for enabling topic statistics collection.
-
virtual std::string resolve_topic_or_service_name(const std::string &name, bool is_service, bool only_expand = false) const = 0
Expand and remap a given topic or service name.
-
using CallbackGroupFunction = std::function<void(rclcpp::CallbackGroup::SharedPtr)>