ros2_canopen  master
C++ ROS CANopen Library
node_canopen_master_interface.hpp
Go to the documentation of this file.
1 // Copyright 2022 Christoph Hellmann Santos
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 NODE_CANOPEN_MASTER_INTERFACE_HPP_
16 #define NODE_CANOPEN_MASTER_INTERFACE_HPP_
17 
18 #include <lely/coapp/master.hpp>
19 #include <lely/ev/exec.hpp>
21 
22 namespace ros2_canopen
23 {
24 namespace node_interfaces
25 {
34 {
35 public:
40  virtual void init() = 0;
41 
49  virtual void configure() = 0;
50 
58  virtual void activate() = 0;
59 
67  virtual void deactivate() = 0;
68 
76  virtual void cleanup() = 0;
77 
84  virtual void shutdown() = 0;
90  virtual std::shared_ptr<lely::canopen::AsyncMaster> get_master() = 0;
96  virtual std::shared_ptr<lely::ev::Executor> get_executor() = 0;
97 };
98 } // namespace node_interfaces
99 } // namespace ros2_canopen
100 #endif
Node Canopen Master Interface.
Definition: node_canopen_master_interface.hpp:34
virtual std::shared_ptr< lely::canopen::AsyncMaster > get_master()=0
Get the master object.
virtual void activate()=0
Activate the driver.
virtual std::shared_ptr< lely::ev::Executor > get_executor()=0
Get the executor object.
virtual void deactivate()=0
Deactivate the driver.
virtual void configure()=0
Configure the driver.
virtual void shutdown()=0
Shutdown the driver.
Definition: configuration_manager.hpp:28