Fabric 0.2.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
fabric::CapabilityClient Class Reference

Class for capability client interactions. More...

#include <capability_client.hpp>

Public Types

using GetInterfaces = capabilities2_msgs::srv::GetInterfaces
 
using GetSemanticInterfaces = capabilities2_msgs::srv::GetSemanticInterfaces
 
using GetProviders = capabilities2_msgs::srv::GetProviders
 
using EstablishBond = capabilities2_msgs::srv::EstablishBond
 
using UseCapability = capabilities2_msgs::srv::UseCapability
 
using FreeCapability = capabilities2_msgs::srv::FreeCapability
 
using ConnectCapability = capabilities2_msgs::srv::ConnectCapability
 
using TriggerCapability = capabilities2_msgs::srv::TriggerCapability
 
using CapabilityEventCode = capabilities2_msgs::msg::CapabilityEventCode
 
using GetInterfacesClient = rclcpp::Client< GetInterfaces >
 
using GetSemanticInterfacesClient = rclcpp::Client< GetSemanticInterfaces >
 
using GetProvidersClient = rclcpp::Client< GetProviders >
 
using EstablishBondClient = rclcpp::Client< EstablishBond >
 
using UseCapabilityClient = rclcpp::Client< UseCapability >
 
using FreeCapabilityClient = rclcpp::Client< FreeCapability >
 
using ConnectCapabilityClient = rclcpp::Client< ConnectCapability >
 
using TriggerCapabilityClient = rclcpp::Client< TriggerCapability >
 

Public Member Functions

 CapabilityClient ()
 
virtual ~CapabilityClient ()=default
 
virtual void initialize (const rclcpp::Node::SharedPtr &node)
 Initialize the capability client with the given ROS2 node.
 
void getInterfaces (std::vector< CapabilityInfo > &capabilities)
 Get the Interfaces from the capabilities2 server via related service client.
 
void getSemanticInterfaces (std::vector< CapabilityInfo > &capabilities)
 Get the Semantic Interfaces from the capabilities2 server via related service client.
 
void getProviders (std::vector< CapabilityInfo > &capabilities)
 Get the Provider information for the related interfaces. T.
 
std::string request_bond ()
 Request the bond from the capabilities2 server.
 
void use_capabilities (fabric::Plan &plan)
 Request use of capability from capabilities2 server.
 
void free_capabilities (fabric::Plan &plan)
 Request free of all started capabilities from capabilities2 server.
 
void connect_capability (const std::string &bond_id, uint8_t code, const fabric::node &source, const fabric::node &target)
 
void connect_capabilities (fabric::Plan &plan)
 Request connection between capabilities from according to the provided plan.
 
void trigger_first_node (fabric::Plan &plan)
 Trigger the first node.
 

Protected Member Functions

template<typename ClientT >
void wait_for_service (const std::shared_ptr< ClientT > &client, const std::string &service_name)
 Wait for a service to become available.
 

Protected Attributes

rclcpp::Node::SharedPtr node_
 pointer to the ROS2 node
 
int service_wait_timeout_sec_ { -1 }
 
std::string get_interfaces_
 service names
 
std::string get_semantic_interfaces_
 
std::string get_providers_
 
std::string establish_bond_
 
std::string use_capability_
 
std::string free_capability_
 
std::string trigger_capability_
 
std::string configure_capability_
 
std::string connect_capability_
 
std::shared_ptr< bond::Bond > bond_
 Heart beat bond with capabilities server.
 
std::vector< std::string > started_capabilities_
 
GetInterfacesClient::SharedPtr get_interfaces_client_
 
GetSemanticInterfacesClient::SharedPtr get_sem_interf_client_
 
GetProvidersClient::SharedPtr get_providers_client_
 
EstablishBondClient::SharedPtr establish_bond_client_
 
UseCapabilityClient::SharedPtr use_capability_client_
 
FreeCapabilityClient::SharedPtr free_capability_client_
 
ConnectCapabilityClient::SharedPtr connect_capability_client_
 
TriggerCapabilityClient::SharedPtr trig_capability_client_
 

Detailed Description

Class for capability client interactions.

Member Typedef Documentation

◆ CapabilityEventCode

using fabric::CapabilityClient::CapabilityEventCode = capabilities2_msgs::msg::CapabilityEventCode

◆ ConnectCapability

using fabric::CapabilityClient::ConnectCapability = capabilities2_msgs::srv::ConnectCapability

◆ ConnectCapabilityClient

◆ EstablishBond

using fabric::CapabilityClient::EstablishBond = capabilities2_msgs::srv::EstablishBond

◆ EstablishBondClient

◆ FreeCapability

using fabric::CapabilityClient::FreeCapability = capabilities2_msgs::srv::FreeCapability

◆ FreeCapabilityClient

◆ GetInterfaces

using fabric::CapabilityClient::GetInterfaces = capabilities2_msgs::srv::GetInterfaces

◆ GetInterfacesClient

◆ GetProviders

using fabric::CapabilityClient::GetProviders = capabilities2_msgs::srv::GetProviders

◆ GetProvidersClient

◆ GetSemanticInterfaces

using fabric::CapabilityClient::GetSemanticInterfaces = capabilities2_msgs::srv::GetSemanticInterfaces

◆ GetSemanticInterfacesClient

◆ TriggerCapability

using fabric::CapabilityClient::TriggerCapability = capabilities2_msgs::srv::TriggerCapability

◆ TriggerCapabilityClient

◆ UseCapability

using fabric::CapabilityClient::UseCapability = capabilities2_msgs::srv::UseCapability

◆ UseCapabilityClient

Constructor & Destructor Documentation

◆ CapabilityClient()

fabric::CapabilityClient::CapabilityClient ( )
inline

◆ ~CapabilityClient()

virtual fabric::CapabilityClient::~CapabilityClient ( )
virtualdefault

Member Function Documentation

◆ connect_capabilities()

void fabric::CapabilityClient::connect_capabilities ( fabric::Plan plan)
inline

Request connection between capabilities from according to the provided plan.

Exceptions
fabric::fabric_exceptionif any connection fails
Parameters
planFabric plan containing the bond id and connections to be established

◆ connect_capability()

void fabric::CapabilityClient::connect_capability ( const std::string &  bond_id,
uint8_t  code,
const fabric::node source,
const fabric::node target 
)
inline

◆ free_capabilities()

void fabric::CapabilityClient::free_capabilities ( fabric::Plan plan)
inline

Request free of all started capabilities from capabilities2 server.

Exceptions
fabric::fabric_exceptionif any capability fails to free
Parameters
planFabric plan containing the bond id and capabilities to be freed

◆ getInterfaces()

void fabric::CapabilityClient::getInterfaces ( std::vector< CapabilityInfo > &  capabilities)
inline

Get the Interfaces from the capabilities2 server via related service client.

Exceptions
`fabric::fabric_exception`if the service call fails
Parameters
interfacesstd::vector of interfaces for which the information will be requested

◆ getProviders()

void fabric::CapabilityClient::getProviders ( std::vector< CapabilityInfo > &  capabilities)
inline

Get the Provider information for the related interfaces. T.

Exceptions
`fabric::fabric_exception`if the service call fails
Parameters
capabilitiesstd::vector of CapabilityInfo for which the provider information will be requested

◆ getSemanticInterfaces()

void fabric::CapabilityClient::getSemanticInterfaces ( std::vector< CapabilityInfo > &  capabilities)
inline

Get the Semantic Interfaces from the capabilities2 server via related service client.

Exceptions
`fabric::fabric_exception`if the service call fails
Parameters
interfacesstd::vector of interfaces for which the semantic interfaces will be requested

◆ initialize()

virtual void fabric::CapabilityClient::initialize ( const rclcpp::Node::SharedPtr &  node)
inlinevirtual

Initialize the capability client with the given ROS2 node.

Parameters
nodeShared pointer to the ROS2 node.

◆ request_bond()

std::string fabric::CapabilityClient::request_bond ( )
inline

Request the bond from the capabilities2 server.

Exceptions
`fabric::fabric_exception`if the service call fails

◆ trigger_first_node()

void fabric::CapabilityClient::trigger_first_node ( fabric::Plan plan)
inline

Trigger the first node.

Exceptions
fabric::fabric_exceptionif the first capability fails to trigger
Parameters
planFabric plan containing the bond id and connections to be triggered

◆ use_capabilities()

void fabric::CapabilityClient::use_capabilities ( fabric::Plan plan)
inline

Request use of capability from capabilities2 server.

Exceptions
fabric::fabric_exceptionif any capability fails to start
Parameters
planFabric plan containing the bond id and capabilities to be used

◆ wait_for_service()

template<typename ClientT >
void fabric::CapabilityClient::wait_for_service ( const std::shared_ptr< ClientT > &  client,
const std::string &  service_name 
)
inlineprotected

Wait for a service to become available.

Member Data Documentation

◆ bond_

std::shared_ptr<bond::Bond> fabric::CapabilityClient::bond_
protected

Heart beat bond with capabilities server.

◆ configure_capability_

std::string fabric::CapabilityClient::configure_capability_
protected

◆ connect_capability_

std::string fabric::CapabilityClient::connect_capability_
protected

◆ connect_capability_client_

ConnectCapabilityClient::SharedPtr fabric::CapabilityClient::connect_capability_client_
protected

configure an selected capability

◆ establish_bond_

std::string fabric::CapabilityClient::establish_bond_
protected

◆ establish_bond_client_

EstablishBondClient::SharedPtr fabric::CapabilityClient::establish_bond_client_
protected

establish bond

◆ free_capability_

std::string fabric::CapabilityClient::free_capability_
protected

◆ free_capability_client_

FreeCapabilityClient::SharedPtr fabric::CapabilityClient::free_capability_client_
protected

free an selected capability

◆ get_interfaces_

std::string fabric::CapabilityClient::get_interfaces_
protected

service names

◆ get_interfaces_client_

GetInterfacesClient::SharedPtr fabric::CapabilityClient::get_interfaces_client_
protected

Get interfaces from capabilities server

◆ get_providers_

std::string fabric::CapabilityClient::get_providers_
protected

◆ get_providers_client_

GetProvidersClient::SharedPtr fabric::CapabilityClient::get_providers_client_
protected

Get providers from capabilities server

◆ get_sem_interf_client_

GetSemanticInterfacesClient::SharedPtr fabric::CapabilityClient::get_sem_interf_client_
protected

Get semantic interfaces from capabilities server

◆ get_semantic_interfaces_

std::string fabric::CapabilityClient::get_semantic_interfaces_
protected

◆ node_

rclcpp::Node::SharedPtr fabric::CapabilityClient::node_
protected

pointer to the ROS2 node

◆ service_wait_timeout_sec_

int fabric::CapabilityClient::service_wait_timeout_sec_ { -1 }
protected

◆ started_capabilities_

std::vector<std::string> fabric::CapabilityClient::started_capabilities_
protected

◆ trig_capability_client_

TriggerCapabilityClient::SharedPtr fabric::CapabilityClient::trig_capability_client_
protected

trigger an selected capability

◆ trigger_capability_

std::string fabric::CapabilityClient::trigger_capability_
protected

◆ use_capability_

std::string fabric::CapabilityClient::use_capability_
protected

◆ use_capability_client_

UseCapabilityClient::SharedPtr fabric::CapabilityClient::use_capability_client_
protected

use an selected capability


The documentation for this class was generated from the following file: