|
Capabilities2 0.3.0
|
base class for all runners More...
#include "runner_base.hpp"


Public Member Functions | |
| RunnerBase () | |
| ~RunnerBase ()=default | |
| virtual void | start (rclcpp::Node::SharedPtr node, const runner_opts &run_config, const std::string &bond_id)=0 |
| start the runner | |
| virtual void | stop (const std::string &bond_id, const std::string &instance_id="")=0 |
| stop the runner | |
| virtual void | trigger (capabilities2_events::EventParameters ¶meters, const std::string &bond_id, const std::string &instance_id)=0 |
| Trigger the runner. | |
| 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. | |
| void | enable_events (std::shared_ptr< capabilities2_events::EventBase > events) |
| enable events system for this runner | |
| void | add_connection (const std::string &connection_id, const capabilities2_msgs::msg::CapabilityEventCode &type, const capabilities2_msgs::msg::Capability &target, std::function< void(const std::string &, const std::string &, const std::string &, capabilities2_events::EventParameters)> callback) |
| make EventNode::add_connection public method on runner api. | |
| const std::string | get_package_name () |
| get the package name to which the runner belong to. | |
| const std::string & | get_interface () const |
| get the interface of the runner. | |
| const std::string & | get_provider () const |
| get the provider of the runner. | |
| const std::string & | get_started_by () const |
| get the starter of the runner. | |
| const std::string & | get_pid () const |
| get the pid of the runner. | |
Public Member Functions inherited from capabilities2_events::EventNode | |
| EventNode (std::shared_ptr< EventBase > event_emitter=nullptr) | |
| virtual | ~EventNode ()=default |
| void | emit_event (const std::string &bond_id, const std::string &instance_id, const uint8_t &event_type, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters()) |
| emit an event from this event node to all matching connections | |
Protected Member Functions | |
| virtual capabilities2_events::EventParameters | param_on_started () |
| Update on_started event parameters with new data if available. | |
| virtual capabilities2_events::EventParameters | param_on_stopped () |
| Update on_stopped event parameters with new data if available. | |
| virtual capabilities2_events::EventParameters | param_on_failure () |
| Update on_failure event parameters with new data if available. | |
| virtual capabilities2_events::EventParameters | param_on_success () |
| Update on_success event parameters with new data if available. | |
| const std::string | get_resource_name_by_type (const std::string &resource_type, const std::string &msg_type) const |
| Get a resource name by data type from the config. | |
| const std::string | get_parameter_name_by_type (const std::string ¶m_type) const |
| Get a parameter name by type. | |
| const std::string | get_topic_name_by_type (const std::string &topic_type) const |
| Get a topic name by type. | |
| const std::string | get_service_name_by_type (const std::string &srv_type) const |
| Get a service name by type. | |
| const std::string | get_action_name_by_type (const std::string &action_type) const |
| Get the action name by type object. | |
| const std::string | get_first_resource_name (const std::string &resource_type) const |
| get first name of a given resource | |
| const std::string | get_first_parameter_name () const |
| Get the first parameter name. | |
| const std::string | get_first_topic_name () const |
| Get the first topic name. | |
| const std::string | get_first_service_name () const |
| Get the first service name. | |
| const std::string | get_first_action_name () const |
| Get the first action name. | |
| void | emit_started (const std::string &bond_id, const std::string &instance_id, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters()) |
| emit STARTED event | |
| void | emit_stopped (const std::string &bond_id, const std::string &instance_id, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters()) |
| emit STOPPED event | |
| void | emit_succeeded (const std::string &bond_id, const std::string &instance_id, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters()) |
| emit SUCCEEDED event | |
| void | emit_failed (const std::string &bond_id, const std::string &instance_id, capabilities2_events::EventParameters parameters=capabilities2_events::EventParameters()) |
| emit FAILED event | |
Protected Member Functions inherited from capabilities2_events::EventNode | |
| void | set_source (const capabilities2_msgs::msg::Capability &src) |
| Set the source object. | |
| void | set_event_emitter (std::shared_ptr< EventBase > event_emitter) |
| event emitter for this event node | |
| void | add_connection (const std::string &connection_id, const capabilities2_msgs::msg::CapabilityEventCode &type, const capabilities2_msgs::msg::Capability &target, EventBase::event_callback_t event_cb) |
| make EventNode::add_connection public method on runner api. | |
| void | remove_connection (const std::string &connection_id) |
| Remove a connection by its id. | |
| void | clear_connections () |
| clear all connections from this event node | |
| std::vector< capabilities2_msgs::msg::CapabilityConnection > | list_connections () const |
| List all connections from this event node. | |
| bool | has_connection (const std::string &connection_id) const |
| Check if a connection exists. | |
| size_t | connection_count () const |
| current connection count | |
| const std::string & | get_id () const |
| unique id of this event node | |
| const capabilities2_msgs::msg::Capability & | get_source () const |
| source capability of this event node | |
| bool | is_event_emitter_set () const |
| event emitter is set on this node | |
Protected Attributes | |
| rclcpp::Node::SharedPtr | node_ |
| shared pointer to the capabilities node Allows to use ros node related functionalities | |
| runner_opts | run_config_ |
| run_config_ runner configuration | |
base class for all runners
Defines the runner plugin api. Inherits from EventNode to provide event emission
|
inline |
|
default |
|
inline |
make EventNode::add_connection public method on runner api.
add connection to this runner to target capability this allows the runner to emit events on state changes to the target capability the connection ID format is: "bond_id/trigger_id" which allows event emission to extract bond_id for access control
| connection_id | unique identifier for the connection (format: "bond_id/trigger_id") |
| type | type of event to connect to |
| target | target capability to connect to |
| callback | callback to trigger target capability with (capability, parameters, bond_id) |
|
inlineprotected |
emit FAILED event
| bond_id | |
| parameters |
|
inlineprotected |
emit STARTED event
| bond_id | |
| parameters |
|
inlineprotected |
emit STOPPED event
| bond_id | |
| parameters |
|
inlineprotected |
emit SUCCEEDED event
| bond_id | |
| parameters |
|
inline |
enable events system for this runner
| events | event emitter to be used by this runner |
|
inlineprotected |
Get the action name by type object.
| action_type |
|
inlineprotected |
Get the first action name.
|
inlineprotected |
Get the first parameter name.
|
inlineprotected |
get first name of a given resource
This can be used to get the name of the first action resource in the runner config
|
inlineprotected |
Get the first service name.
|
inlineprotected |
Get the first topic name.
|
inline |
get the interface of the runner.
|
inline |
get the package name to which the runner belong to.
|
inlineprotected |
Get a parameter name by type.
| param_type |
|
inline |
get the pid of the runner.
|
inline |
get the provider of the runner.
|
inlineprotected |
Get a resource name by data type from the config.
This helps to navigate remappings from the runner config
WARNING: this only gets the first resource found of the given type
| resource_type | |
| msg_type |
|
inlineprotected |
Get a service name by type.
| srv_type |
|
inline |
get the starter of the runner.
|
inlineprotected |
Get a topic name by type.
| topic_type |
|
inline |
Initializer function for initializing the base runner in place of constructor due to plugin semantics.
| node | shared pointer to the capabilities node. Allows to use ros node related functionalities |
| run_config | runner configuration loaded from the yaml file |
|
inlineprotectedvirtual |
Update on_failure event parameters with new data if available.
This function is used to inject new data into the CapabilityOptions containing parameters related to the on_failure trigger event
A pattern needs to be implemented in the derived class
|
inlineprotectedvirtual |
Update on_started event parameters with new data if available.
This function is used to inject new data into the CapabilityOptions containing parameters related to the on_started trigger event
A pattern needs to be implemented in the derived class
|
inlineprotectedvirtual |
Update on_stopped event parameters with new data if available.
This function is used to inject new data into the CapabilityOptions containing parameters related to the on_stopped trigger event
A pattern needs to be implemented in the derived class
|
inlineprotectedvirtual |
Update on_success event parameters with new data if available.
This function is used to inject new data into the CapabilityOptions containing parameters related to the on_success trigger event
A pattern needs to be implemented in the derived class
Reimplemented in capabilities2_runner::GetCapabilitySpecsRunner.
|
pure virtual |
start the runner
runner plugin api
| node | shared pointer to the capabilities node. Allows to use ros node related functionalities |
| run_config | runner configuration loaded from the yaml file |
Implemented in capabilities2_runner::LaunchRunner, capabilities2_runner::GetCapabilitySpecsRunner, capabilities2_runner::InputMultiplexRunner, and capabilities2_runner::DummyRunner.
|
pure virtual |
stop the runner
Implemented in capabilities2_runner::ActionRunner< ActionT >, capabilities2_runner::LaunchRunner, capabilities2_runner::ServiceRunner< ServiceT >, capabilities2_runner::ServiceRunner< capabilities2_msgs::srv::GetCapabilitySpecs >, capabilities2_runner::InputMultiplexRunner, capabilities2_runner::TopicRunner< TopicT >, and capabilities2_runner::DummyRunner.
|
pure virtual |
Trigger the runner.
FIXME: implement new event subsystem
This method allows insertion of parameters in a runner after it has been initialized. it is an approach to parameterise capabilities. Internally starts up RunnerBase::triggerExecution in a thread
| parameters | capability options that contain parameters for the trigger |
| bond_id | unique identifier for the group of connections associated with this runner trigger event |
| instance_id | unique identifier for the instance of the capability |
Implemented in capabilities2_runner::ThreadTriggerRunner, capabilities2_runner::NoTriggerRunner, and capabilities2_runner::DummyRunner.
|
protected |
shared pointer to the capabilities node Allows to use ros node related functionalities
|
protected |
run_config_ runner configuration