Class Subscriber

Class Documentation

class Subscriber

Manages a subscription callback on a specific topic that can be interpreted as an Image topic.

Subscriber is the client-side counterpart to Publisher. By loading the appropriate plugin, it can subscribe to a base image topic using any available transport. The complexity of what transport is actually used is hidden from the user, who sees only a normal Image callback.

A Subscriber should always be created through a call to ImageTransport::subscribe(), or copied from one that was. Once all copies of a specific Subscriber go out of scope, the subscription callback associated with that handle will stop being called. Once all Subscriber for a given topic go out of scope the topic will be unsubscribed.

Public Types

typedef std::function<void(const sensor_msgs::msg::Image::ConstSharedPtr&)> Callback

Public Functions

IMAGE_TRANSPORT_PUBLIC Subscriber() = default
IMAGE_TRANSPORT_PUBLIC Subscriber(rclcpp::Node *node, const std::string &base_topic, const Callback &callback, SubLoaderPtr loader, const std::string &transport, rmw_qos_profile_t custom_qos = rmw_qos_profile_default, rclcpp::SubscriptionOptions options = rclcpp::SubscriptionOptions())
IMAGE_TRANSPORT_PUBLIC std::string getTopic () const

Returns the base image topic.

The Subscriber may actually be subscribed to some transport-specific topic that differs from the base topic.

IMAGE_TRANSPORT_PUBLIC size_t getNumPublishers () const

Returns the number of publishers this subscriber is connected to.

IMAGE_TRANSPORT_PUBLIC std::string getTransport () const

Returns the name of the transport being used.

IMAGE_TRANSPORT_PUBLIC void shutdown ()

Unsubscribe the callback associated with this Subscriber.

IMAGE_TRANSPORT_PUBLIC operator void*() const
inline IMAGE_TRANSPORT_PUBLIC bool operator< (const Subscriber &rhs) const
inline IMAGE_TRANSPORT_PUBLIC bool operator!= (const Subscriber &rhs) const
inline IMAGE_TRANSPORT_PUBLIC bool operator== (const Subscriber &rhs) const