rclcpp
master
C++ ROS Client Library API
include
rclcpp
node_interfaces
node_waitables_interface.hpp
Go to the documentation of this file.
1
// Copyright 2018 Open Source Robotics Foundation, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#ifndef RCLCPP__NODE_INTERFACES__NODE_WAITABLES_INTERFACE_HPP_
16
#define RCLCPP__NODE_INTERFACES__NODE_WAITABLES_INTERFACE_HPP_
17
18
#include "
rclcpp/callback_group.hpp
"
19
#include "
rclcpp/macros.hpp
"
20
#include "
rclcpp/visibility_control.hpp
"
21
#include "
rclcpp/waitable.hpp
"
22
23
namespace
rclcpp
24
{
25
namespace
node_interfaces
26
{
27
29
class
NodeWaitablesInterface
30
{
31
public
:
32
RCLCPP_SMART_PTR_ALIASES_ONLY
(
NodeWaitablesInterface
)
33
34
RCLCPP_PUBLIC
35
virtual
36
~NodeWaitablesInterface
() =
default
;
37
38
RCLCPP_PUBLIC
39
virtual
40
void
41
add_waitable
(
42
rclcpp::Waitable::SharedPtr waitable_ptr,
43
rclcpp::CallbackGroup::SharedPtr group) = 0;
44
46
RCLCPP_PUBLIC
47
virtual
48
void
49
remove_waitable
(
50
rclcpp::Waitable::SharedPtr waitable_ptr,
51
rclcpp::CallbackGroup::SharedPtr group) noexcept = 0;
52
};
53
54
}
// namespace node_interfaces
55
}
// namespace rclcpp
56
57
#endif // RCLCPP__NODE_INTERFACES__NODE_WAITABLES_INTERFACE_HPP_
callback_group.hpp
RCLCPP_SMART_PTR_ALIASES_ONLY
#define RCLCPP_SMART_PTR_ALIASES_ONLY(...)
Definition:
macros.hpp:66
rclcpp
This header provides the get_node_base_interface() template function.
Definition:
allocator_common.hpp:24
RCLCPP_PUBLIC
#define RCLCPP_PUBLIC
Definition:
visibility_control.hpp:50
rclcpp::node_interfaces::NodeWaitablesInterface
Pure virtual interface class for the NodeWaitables part of the Node API.
Definition:
node_waitables_interface.hpp:29
macros.hpp
rclcpp::node_interfaces::NodeWaitablesInterface::add_waitable
virtual void add_waitable(rclcpp::Waitable::SharedPtr waitable_ptr, rclcpp::CallbackGroup::SharedPtr group)=0
rclcpp::node_interfaces::NodeWaitablesInterface::remove_waitable
virtual void remove_waitable(rclcpp::Waitable::SharedPtr waitable_ptr, rclcpp::CallbackGroup::SharedPtr group) noexcept=0
visibility_control.hpp
rclcpp::node_interfaces::NodeWaitablesInterface::~NodeWaitablesInterface
virtual ~NodeWaitablesInterface()=default
waitable.hpp
Generated by
1.8.17