Skip to content

File nebula_agnocast_wrapper.hpp

FileList > agnocast_wrapper > nebula_agnocast_wrapper.hpp

Go to the source code of this file

  • #include <rclcpp/exceptions/exceptions.hpp>
  • #include <rclcpp/rclcpp.hpp>
  • #include <rcl/timer.h>
  • #include <rclcpp/version.h>
  • #include <chrono>
  • #include <functional>
  • #include <future>
  • #include <memory>
  • #include <stdexcept>
  • #include <string>
  • #include <type_traits>
  • #include <utility>

Namespaces

Type Name
namespace nebula
namespace agnocast_wrapper

Classes

Type Name
class Client <typename ServiceT>
struct FutureAndRequestId
struct SharedFutureAndRequestId
class ROS2Client <typename ServiceT>
class ROS2Service <typename ServiceT>
class Service <typename ServiceT>

Macros

Type Name
define ALLOCATE_OUTPUT_MESSAGE_SHARED (publisher) std::make\_shared&lt;typename std::remove\_reference&lt;decltype(\*publisher)&gt;::type::ROSMessageType&gt;()
define ALLOCATE_OUTPUT_MESSAGE_UNIQUE (publisher) std::make\_unique&lt;typename std::remove\_reference&lt;decltype(\*publisher)&gt;::type::ROSMessageType&gt;()
define ALLOCATE_OUTPUT_SERVICE_REQUEST (client) client-&gt;allocate\_output\_service\_request()
define NEBULA_CLIENT_FUTURE (ServiceT) typename [**nebula::agnocast\_wrapper::Client**](classnebula_1_1agnocast__wrapper_1_1Client.md)&lt;ServiceT&gt;::Future
define NEBULA_CLIENT_FUTURE_AND_REQUEST_ID (ServiceT) typename [**nebula::agnocast\_wrapper::Client**](classnebula_1_1agnocast__wrapper_1_1Client.md)&lt;ServiceT&gt;::FutureAndRequestId
define NEBULA_CLIENT_PTR (ServiceT) typename [**nebula::agnocast\_wrapper::Client**](classnebula_1_1agnocast__wrapper_1_1Client.md)&lt;ServiceT&gt;::SharedPtr
define NEBULA_CLIENT_REQUEST_PTR (ServiceT) std::shared\_ptr&lt;typename ServiceT::Request&gt;
define NEBULA_CLIENT_RESPONSE_PTR (ServiceT) std::shared\_ptr&lt;const typename ServiceT::Response&gt;
define NEBULA_CLIENT_SHARED_FUTURE (ServiceT) typename [**nebula::agnocast\_wrapper::Client**](classnebula_1_1agnocast__wrapper_1_1Client.md)&lt;ServiceT&gt;::SharedFuture
define NEBULA_CLIENT_SHARED_FUTURE_AND_REQUEST_ID (ServiceT) typename [**nebula::agnocast\_wrapper::Client**](classnebula_1_1agnocast__wrapper_1_1Client.md)&lt;ServiceT&gt;::SharedFutureAndRequestId
define NEBULA_CREATE_CLIENT1 (service_type, service_name) [**nebula::agnocast\_wrapper::create\_client**](namespacenebula_1_1agnocast__wrapper.md#function-create_client)&lt;service\_type&gt;(this, service\_name)
define NEBULA_CREATE_CLIENT1_ON_NODE (service_type, node, service_name) [**nebula::agnocast\_wrapper::create\_client**](namespacenebula_1_1agnocast__wrapper.md#function-create_client)&lt;service\_type&gt;(node, service\_name)
define NEBULA_CREATE_CLIENT2 (service_type, service_name, qos) [**nebula::agnocast\_wrapper::create\_client**](namespacenebula_1_1agnocast__wrapper.md#function-create_client)&lt;service\_type&gt;(this, service\_name, qos)
define NEBULA_CREATE_CLIENT2_ON_NODE (service_type, node, service_name, qos) [**nebula::agnocast\_wrapper::create\_client**](namespacenebula_1_1agnocast__wrapper.md#function-create_client)&lt;service\_type&gt;(node, service\_name, qos)
define NEBULA_CREATE_CLIENT3 (service_type, service_name, qos, group) [**nebula::agnocast\_wrapper::create\_client**](namespacenebula_1_1agnocast__wrapper.md#function-create_client)&lt;service\_type&gt;(this, service\_name, qos, group)
define NEBULA_CREATE_CLIENT3_ON_NODE (service_type, node, service_name, qos, group) [**nebula::agnocast\_wrapper::create\_client**](namespacenebula_1_1agnocast__wrapper.md#function-create_client)&lt;service\_type&gt;(node, service\_name, qos, group)
define NEBULA_CREATE_PUBLISHER2 (message_type, arg1, arg2) this-&gt;create\_publisher&lt;message\_type&gt;(arg1, arg2)
define NEBULA_CREATE_PUBLISHER2_ON_NODE (message_type, node, arg1, arg2) (node)-&gt;create\_publisher&lt;message\_type&gt;(arg1, arg2)
define NEBULA_CREATE_PUBLISHER3 (message_type, arg1, arg2, arg3) this-&gt;create\_publisher&lt;message\_type&gt;(arg1, arg2, arg3)
define NEBULA_CREATE_PUBLISHER3_ON_NODE (message_type, node, arg1, arg2, arg3) (node)-&gt;create\_publisher&lt;message\_type&gt;(arg1, arg2, arg3)
define NEBULA_CREATE_SERVICE2 (service_type, service_name, callback) [**nebula::agnocast\_wrapper::create\_service**](namespacenebula_1_1agnocast__wrapper.md#function-create_service)&lt;service\_type&gt;(this, service\_name, callback)
define NEBULA_CREATE_SERVICE2_ON_NODE (service_type, node, service_name, callback) [**nebula::agnocast\_wrapper::create\_service**](namespacenebula_1_1agnocast__wrapper.md#function-create_service)&lt;service\_type&gt;(node, service\_name, callback)
define NEBULA_CREATE_SERVICE3 (service_type, service_name, callback, qos) [**nebula::agnocast\_wrapper::create\_service**](namespacenebula_1_1agnocast__wrapper.md#function-create_service)&lt;service\_type&gt;(this, service\_name, callback, qos)
define NEBULA_CREATE_SERVICE3_ON_NODE (service_type, node, service_name, callback, qos) [**nebula::agnocast\_wrapper::create\_service**](namespacenebula_1_1agnocast__wrapper.md#function-create_service)&lt;service\_type&gt;(node, service\_name, callback, qos)
define NEBULA_CREATE_SERVICE4 (service_type, service_name, callback, qos, group) [**nebula::agnocast\_wrapper::create\_service**](namespacenebula_1_1agnocast__wrapper.md#function-create_service)&lt;service\_type&gt;(this, service\_name, callback, qos, group)
define NEBULA_CREATE_SERVICE4_ON_NODE (service_type, node, service_name, callback, qos, group) [**nebula::agnocast\_wrapper::create\_service**](namespacenebula_1_1agnocast__wrapper.md#function-create_service)&lt;service\_type&gt;(node, service\_name, callback, qos, group)
define NEBULA_CREATE_SUBSCRIPTION (message_type, topic, qos, callback, options) this-&gt;create\_subscription&lt;message\_type&gt;(topic, qos, callback, options)
define NEBULA_CREATE_SUBSCRIPTION_ON_NODE (message_type, node, topic, qos, callback, options) (node)-&gt;create\_subscription&lt;message\_type&gt;(topic, qos, callback, options)
define NEBULA_MESSAGE_CONST_SHARED_PTR (MessageT) std::shared\_ptr&lt;const MessageT&gt;
define NEBULA_MESSAGE_SHARED_PTR (MessageT) std::shared\_ptr&lt;MessageT&gt;
define NEBULA_MESSAGE_UNIQUE_PTR (MessageT) std::unique\_ptr&lt;MessageT&gt;
define NEBULA_PUBLISHER_OPTIONS rclcpp::PublisherOptions
define NEBULA_PUBLISHER_PTR (MessageT) typename rclcpp::Publisher&lt;MessageT&gt;::SharedPtr
define NEBULA_SERVER_REQUEST_PTR (ServiceT) std::shared\_ptr&lt;const typename ServiceT::Request&gt;
define NEBULA_SERVER_RESPONSE_PTR (ServiceT) std::shared\_ptr&lt;typename ServiceT::Response&gt;
define NEBULA_SERVICE_PTR (ServiceT) typename [**nebula::agnocast\_wrapper::Service**](classnebula_1_1agnocast__wrapper_1_1Service.md)&lt;ServiceT&gt;::SharedPtr
define NEBULA_SUBSCRIPTION_OPTIONS rclcpp::SubscriptionOptions
define NEBULA_SUBSCRIPTION_PTR (MessageT) typename rclcpp::Subscription&lt;MessageT&gt;::SharedPtr
define NEBULA_TIMER_PTR rclcpp::TimerBase::SharedPtr

Macro Definition Documentation

define ALLOCATE_OUTPUT_MESSAGE_SHARED

#define ALLOCATE_OUTPUT_MESSAGE_SHARED (
    publisher
) `std::make_shared<typename std::remove_reference<decltype(*publisher)>::type::ROSMessageType>()`

define ALLOCATE_OUTPUT_MESSAGE_UNIQUE

#define ALLOCATE_OUTPUT_MESSAGE_UNIQUE (
    publisher
) `std::make_unique<typename std::remove_reference<decltype(*publisher)>::type::ROSMessageType>()`

define ALLOCATE_OUTPUT_SERVICE_REQUEST

#define ALLOCATE_OUTPUT_SERVICE_REQUEST (
    client
) `client->allocate_output_service_request()`

define NEBULA_CLIENT_FUTURE

#define NEBULA_CLIENT_FUTURE (
    ServiceT
) `typename nebula::agnocast_wrapper::Client <ServiceT>::Future`

define NEBULA_CLIENT_FUTURE_AND_REQUEST_ID

#define NEBULA_CLIENT_FUTURE_AND_REQUEST_ID (
    ServiceT
) `typename nebula::agnocast_wrapper::Client <ServiceT>::FutureAndRequestId`

define NEBULA_CLIENT_PTR

#define NEBULA_CLIENT_PTR (
    ServiceT
) `typename nebula::agnocast_wrapper::Client <ServiceT>::SharedPtr`

define NEBULA_CLIENT_REQUEST_PTR

#define NEBULA_CLIENT_REQUEST_PTR (
    ServiceT
) `std::shared_ptr<typename ServiceT::Request>`

define NEBULA_CLIENT_RESPONSE_PTR

#define NEBULA_CLIENT_RESPONSE_PTR (
    ServiceT
) `std::shared_ptr<const typename ServiceT::Response>`

define NEBULA_CLIENT_SHARED_FUTURE

#define NEBULA_CLIENT_SHARED_FUTURE (
    ServiceT
) `typename nebula::agnocast_wrapper::Client <ServiceT>::SharedFuture`

define NEBULA_CLIENT_SHARED_FUTURE_AND_REQUEST_ID

#define NEBULA_CLIENT_SHARED_FUTURE_AND_REQUEST_ID (
    ServiceT
) `typename nebula::agnocast_wrapper::Client <ServiceT>::SharedFutureAndRequestId`

define NEBULA_CREATE_CLIENT1

#define NEBULA_CREATE_CLIENT1 (
    service_type,
    service_name
) `nebula::agnocast_wrapper::create_client <service_type>(this, service_name)`

define NEBULA_CREATE_CLIENT1_ON_NODE

#define NEBULA_CREATE_CLIENT1_ON_NODE (
    service_type,
    node,
    service_name
) `nebula::agnocast_wrapper::create_client <service_type>(node, service_name)`

define NEBULA_CREATE_CLIENT2

#define NEBULA_CREATE_CLIENT2 (
    service_type,
    service_name,
    qos
) `nebula::agnocast_wrapper::create_client <service_type>(this, service_name, qos)`

define NEBULA_CREATE_CLIENT2_ON_NODE

#define NEBULA_CREATE_CLIENT2_ON_NODE (
    service_type,
    node,
    service_name,
    qos
) `nebula::agnocast_wrapper::create_client <service_type>(node, service_name, qos)`

define NEBULA_CREATE_CLIENT3

#define NEBULA_CREATE_CLIENT3 (
    service_type,
    service_name,
    qos,
    group
) `nebula::agnocast_wrapper::create_client <service_type>(this, service_name, qos, group)`

define NEBULA_CREATE_CLIENT3_ON_NODE

#define NEBULA_CREATE_CLIENT3_ON_NODE (
    service_type,
    node,
    service_name,
    qos,
    group
) `nebula::agnocast_wrapper::create_client <service_type>(node, service_name, qos, group)`

define NEBULA_CREATE_PUBLISHER2

#define NEBULA_CREATE_PUBLISHER2 (
    message_type,
    arg1,
    arg2
) `this->create_publisher<message_type>(arg1, arg2)`

define NEBULA_CREATE_PUBLISHER2_ON_NODE

#define NEBULA_CREATE_PUBLISHER2_ON_NODE (
    message_type,
    node,
    arg1,
    arg2
) `(node)->create_publisher<message_type>(arg1, arg2)`

define NEBULA_CREATE_PUBLISHER3

#define NEBULA_CREATE_PUBLISHER3 (
    message_type,
    arg1,
    arg2,
    arg3
) `this->create_publisher<message_type>(arg1, arg2, arg3)`

define NEBULA_CREATE_PUBLISHER3_ON_NODE

#define NEBULA_CREATE_PUBLISHER3_ON_NODE (
    message_type,
    node,
    arg1,
    arg2,
    arg3
) `(node)->create_publisher<message_type>(arg1, arg2, arg3)`

define NEBULA_CREATE_SERVICE2

#define NEBULA_CREATE_SERVICE2 (
    service_type,
    service_name,
    callback
) `nebula::agnocast_wrapper::create_service <service_type>(this, service_name, callback)`

define NEBULA_CREATE_SERVICE2_ON_NODE

#define NEBULA_CREATE_SERVICE2_ON_NODE (
    service_type,
    node,
    service_name,
    callback
) `nebula::agnocast_wrapper::create_service <service_type>(node, service_name, callback)`

define NEBULA_CREATE_SERVICE3

#define NEBULA_CREATE_SERVICE3 (
    service_type,
    service_name,
    callback,
    qos
) `nebula::agnocast_wrapper::create_service <service_type>(this, service_name, callback, qos)`

define NEBULA_CREATE_SERVICE3_ON_NODE

#define NEBULA_CREATE_SERVICE3_ON_NODE (
    service_type,
    node,
    service_name,
    callback,
    qos
) `nebula::agnocast_wrapper::create_service <service_type>(node, service_name, callback, qos)`

define NEBULA_CREATE_SERVICE4

#define NEBULA_CREATE_SERVICE4 (
    service_type,
    service_name,
    callback,
    qos,
    group
) `nebula::agnocast_wrapper::create_service <service_type>(this, service_name, callback, qos, group)`

define NEBULA_CREATE_SERVICE4_ON_NODE

#define NEBULA_CREATE_SERVICE4_ON_NODE (
    service_type,
    node,
    service_name,
    callback,
    qos,
    group
) `nebula::agnocast_wrapper::create_service <service_type>(node, service_name, callback, qos, group)`

define NEBULA_CREATE_SUBSCRIPTION

#define NEBULA_CREATE_SUBSCRIPTION (
    message_type,
    topic,
    qos,
    callback,
    options
) `this->create_subscription<message_type>(topic, qos, callback, options)`

define NEBULA_CREATE_SUBSCRIPTION_ON_NODE

#define NEBULA_CREATE_SUBSCRIPTION_ON_NODE (
    message_type,
    node,
    topic,
    qos,
    callback,
    options
) `(node)->create_subscription<message_type>(topic, qos, callback, options)`

define NEBULA_MESSAGE_CONST_SHARED_PTR

#define NEBULA_MESSAGE_CONST_SHARED_PTR (
    MessageT
) `std::shared_ptr<const MessageT>`

define NEBULA_MESSAGE_SHARED_PTR

#define NEBULA_MESSAGE_SHARED_PTR (
    MessageT
) `std::shared_ptr<MessageT>`

define NEBULA_MESSAGE_UNIQUE_PTR

#define NEBULA_MESSAGE_UNIQUE_PTR (
    MessageT
) `std::unique_ptr<MessageT>`

define NEBULA_PUBLISHER_OPTIONS

#define NEBULA_PUBLISHER_OPTIONS `rclcpp::PublisherOptions`

define NEBULA_PUBLISHER_PTR

#define NEBULA_PUBLISHER_PTR (
    MessageT
) `typename rclcpp::Publisher<MessageT>::SharedPtr`

define NEBULA_SERVER_REQUEST_PTR

#define NEBULA_SERVER_REQUEST_PTR (
    ServiceT
) `std::shared_ptr<const typename ServiceT::Request>`

define NEBULA_SERVER_RESPONSE_PTR

#define NEBULA_SERVER_RESPONSE_PTR (
    ServiceT
) `std::shared_ptr<typename ServiceT::Response>`

define NEBULA_SERVICE_PTR

#define NEBULA_SERVICE_PTR (
    ServiceT
) `typename nebula::agnocast_wrapper::Service <ServiceT>::SharedPtr`

define NEBULA_SUBSCRIPTION_OPTIONS

#define NEBULA_SUBSCRIPTION_OPTIONS `rclcpp::SubscriptionOptions`

define NEBULA_SUBSCRIPTION_PTR

#define NEBULA_SUBSCRIPTION_PTR (
    MessageT
) `typename rclcpp::Subscription<MessageT>::SharedPtr`

define NEBULA_TIMER_PTR

#define NEBULA_TIMER_PTR `rclcpp::TimerBase::SharedPtr`


The documentation for this class was generated from the following file src/nebula_core/nebula_core_ros/include/nebula_core_ros/agnocast_wrapper/nebula_agnocast_wrapper.hpp