Capabilities2 0.3.0
Loading...
Searching...
No Matches
launch_runner.hpp
Go to the documentation of this file.
1#pragma once
2
4
6{
7
15{
16public:
23
31 virtual void start(rclcpp::Node::SharedPtr node, const runner_opts& run_config, const std::string& bond_id) override
32 {
33 init_base(node, run_config);
34
35 package_name = run_config_.runner.substr(0, run_config_.runner.find("/"));
36 launch_name = run_config_.runner.substr(run_config_.runner.find("/") + 1);
37
38 // start launch process
39 throw runner_exception("launch runner not implemented yet");
40
41 // emit started event
42 emit_started(bond_id, "", param_on_started());
43 }
44
49 virtual void stop(const std::string& bond_id, const std::string& instance_id = "") override
50 {
51 // if the node pointer is empty then throw an error
52 // this means that the runner was not started and is being used out of order
53
54 if (!node_)
55 throw runner_exception("cannot stop runner that was not started");
56
57 // stop the launch process
58 throw runner_exception("launch runner not implemented yet");
59
60 // emit stopped event
61 emit_stopped(bond_id, instance_id, param_on_stopped());
62 }
63
64protected:
65 std::string launch_name;
66 std::string package_name;
67};
68
69} // namespace capabilities2_runner
launch runner base class
Definition launch_runner.hpp:15
virtual void stop(const std::string &bond_id, const std::string &instance_id="") override
stop function to cease functionality and shutdown
Definition launch_runner.hpp:49
virtual void start(rclcpp::Node::SharedPtr node, const runner_opts &run_config, const std::string &bond_id) override
Starter function for starting the launch runner.
Definition launch_runner.hpp:31
LaunchRunner()
Constructor which needs to be empty due to plugin semantics.
Definition launch_runner.hpp:20
std::string package_name
Definition launch_runner.hpp:66
std::string launch_name
Definition launch_runner.hpp:65
no-trigger runner
Definition notrigger_runner.hpp:16
virtual capabilities2_events::EventParameters param_on_started()
Update on_started event parameters with new data if available.
Definition runner_base.hpp:226
void init_base(rclcpp::Node::SharedPtr node, const runner_opts &run_config)
Initializer function for initializing the base runner in place of constructor due to plugin semantics...
Definition runner_base.hpp:126
virtual capabilities2_events::EventParameters param_on_stopped()
Update on_stopped event parameters with new data if available.
Definition runner_base.hpp:241
runner_opts run_config_
run_config_ runner configuration
Definition runner_base.hpp:474
rclcpp::Node::SharedPtr node_
shared pointer to the capabilities node Allows to use ros node related functionalities
Definition runner_base.hpp:469
void emit_started(const std::string &bond_id, const std::string &instance_id, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters())
emit STARTED event
Definition runner_base.hpp:418
void emit_stopped(const std::string &bond_id, const std::string &instance_id, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters())
emit STOPPED event
Definition runner_base.hpp:431
Definition action_runner.hpp:19
runner exception
Definition runner_base.hpp:24
runner options
Definition runner_base.hpp:56
std::string runner
Definition runner_base.hpp:61