Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
interactive_markers::InteractiveMarkerClient Class Reference

#include <interactive_marker_client.h>

Inheritance diagram for interactive_markers::InteractiveMarkerClient:
Inheritance graph


struct  CbCollection

Public Types

typedef boost::function< void(const InitConstPtr &) > InitCallback
typedef visualization_msgs::InteractiveMarkerInitConstPtr InitConstPtr
typedef boost::function< void(const std::string &) > ResetCallback
typedef boost::function< void(StatusT, const std::string &, const std::string &) > StatusCallback
enum  StatusT { OK = 0, WARN = 1, ERROR = 2 }
typedef boost::function< void(const UpdateConstPtr &) > UpdateCallback
typedef visualization_msgs::InteractiveMarkerUpdateConstPtr UpdateConstPtr

Public Member Functions

INTERACTIVE_MARKERS_PUBLIC InteractiveMarkerClient (tf::Transformer &tf, const std::string &target_frame="", const std::string &topic_ns="")
void processInit (const InitConstPtr &msg)
void processUpdate (const UpdateConstPtr &msg)
INTERACTIVE_MARKERS_PUBLIC void setEnableAutocompleteTransparency (bool enable)
INTERACTIVE_MARKERS_PUBLIC void setInitCb (const InitCallback &cb)
 Set callback for init messages. More...
INTERACTIVE_MARKERS_PUBLIC void setResetCb (const ResetCallback &cb)
 Set callback for resetting one server connection. More...
INTERACTIVE_MARKERS_PUBLIC void setStatusCb (const StatusCallback &cb)
 Set callback for status updates. More...
INTERACTIVE_MARKERS_PUBLIC void setTargetFrame (std::string target_frame)
 Change the target frame and reset the connection. More...
INTERACTIVE_MARKERS_PUBLIC void setUpdateCb (const UpdateCallback &cb)
 Set callback for update messages. More...
 Unsubscribe, clear queues & call reset callbacks. More...
INTERACTIVE_MARKERS_PUBLIC void subscribe (std::string topic_ns)
 Subscribe to the topics topic_ns/update and topic_ns/init. More...
 Update tf info, call callbacks. More...
INTERACTIVE_MARKERS_PUBLIC ~InteractiveMarkerClient ()
 Will cause a 'reset' call for all server ids. More...

Private Types

typedef boost::unordered_map< std::string, SingleClientPtrM_SingleClient
typedef boost::shared_ptr< SingleClientSingleClientPtr
enum  StateT { IDLE, INIT, RUNNING }

Private Member Functions

template<class MsgConstPtrT >
void process (const MsgConstPtrT &msg)
void statusCb (StatusT status, const std::string &server_id, const std::string &msg)
void subscribeInit ()
void subscribeUpdate ()

Private Attributes

CbCollection callbacks_
bool enable_autocomplete_transparency_
ros::Subscriber init_sub_
int last_num_publishers_
ros::NodeHandle nh_
M_SingleClient publisher_contexts_
boost::mutex publisher_contexts_mutex_
StateMachine< StateTstate_
StatusCallback status_cb_
std::string target_frame_
std::string topic_ns_
ros::Subscriber update_sub_

Detailed Description

Acts as a client to one or multiple Interactive Marker servers. Handles topic subscription, error detection and tf transformations.

The output is an init message followed by a stream of updates for each server. In case of an error (e.g. message loss, tf failure), the connection to the sending server is reset.

All timestamped messages are being transformed into the target frame, while for non-timestamped messages it is ensured that the necessary tf transformation will be available.

Definition at line 68 of file interactive_marker_client.h.

Member Typedef Documentation

Definition at line 82 of file interactive_marker_client.h.

typedef visualization_msgs::InteractiveMarkerInitConstPtr interactive_markers::InteractiveMarkerClient::InitConstPtr

Definition at line 79 of file interactive_marker_client.h.

typedef boost::unordered_map<std::string, SingleClientPtr> interactive_markers::InteractiveMarkerClient::M_SingleClient

Definition at line 164 of file interactive_marker_client.h.

typedef boost::function< void ( const std::string& ) > interactive_markers::InteractiveMarkerClient::ResetCallback

Definition at line 83 of file interactive_marker_client.h.

Definition at line 163 of file interactive_marker_client.h.

typedef boost::function< void ( StatusT, const std::string&, const std::string& ) > interactive_markers::InteractiveMarkerClient::StatusCallback

Definition at line 84 of file interactive_marker_client.h.

Definition at line 81 of file interactive_marker_client.h.

typedef visualization_msgs::InteractiveMarkerUpdateConstPtr interactive_markers::InteractiveMarkerClient::UpdateConstPtr

Definition at line 78 of file interactive_marker_client.h.

Member Enumeration Documentation


Definition at line 141 of file interactive_marker_client.h.


Definition at line 72 of file interactive_marker_client.h.

Constructor & Destructor Documentation

interactive_markers::InteractiveMarkerClient::InteractiveMarkerClient ( tf::Transformer tf,
const std::string &  target_frame = "",
const std::string &  topic_ns = "" 
tfThe tf transformer to use.
target_frametf frame to transform timestamped messages into.
topic_nsThe topic namespace (will subscribe to topic_ns/update, topic_ns/init)

Definition at line 45 of file interactive_marker_client.cpp.

interactive_markers::InteractiveMarkerClient::~InteractiveMarkerClient ( )

Will cause a 'reset' call for all server ids.

Definition at line 62 of file interactive_marker_client.cpp.

Member Function Documentation

template<class MsgConstPtrT >
void interactive_markers::InteractiveMarkerClient::process ( const MsgConstPtrT &  msg)

Definition at line 169 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::processInit ( const InitConstPtr msg)

Definition at line 208 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::processUpdate ( const UpdateConstPtr msg)

Definition at line 213 of file interactive_marker_client.cpp.

INTERACTIVE_MARKERS_PUBLIC void interactive_markers::InteractiveMarkerClient::setEnableAutocompleteTransparency ( bool  enable)

Definition at line 131 of file interactive_marker_client.h.

void interactive_markers::InteractiveMarkerClient::setInitCb ( const InitCallback cb)

Set callback for init messages.

Definition at line 75 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::setResetCb ( const ResetCallback cb)

Set callback for resetting one server connection.

Definition at line 85 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::setStatusCb ( const StatusCallback cb)

Set callback for status updates.

Definition at line 90 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::setTargetFrame ( std::string  target_frame)

Change the target frame and reset the connection.

Definition at line 95 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::setUpdateCb ( const UpdateCallback cb)

Set callback for update messages.

Definition at line 80 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::shutdown ( )

Unsubscribe, clear queues & call reset callbacks.

Definition at line 114 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::statusCb ( StatusT  status,
const std::string &  server_id,
const std::string &  msg 

Definition at line 273 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::subscribe ( std::string  topic_ns)

Subscribe to the topics topic_ns/update and topic_ns/init.

Subscribe to given topic.

Definition at line 68 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::subscribeInit ( )

Definition at line 151 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::subscribeUpdate ( )

Definition at line 133 of file interactive_marker_client.cpp.

void interactive_markers::InteractiveMarkerClient::update ( )

Update tf info, call callbacks.

Definition at line 218 of file interactive_marker_client.cpp.

Member Data Documentation

CbCollection interactive_markers::InteractiveMarkerClient::callbacks_

Definition at line 211 of file interactive_marker_client.h.

bool interactive_markers::InteractiveMarkerClient::enable_autocomplete_transparency_

Definition at line 220 of file interactive_marker_client.h.

ros::Subscriber interactive_markers::InteractiveMarkerClient::init_sub_

Definition at line 153 of file interactive_marker_client.h.

int interactive_markers::InteractiveMarkerClient::last_num_publishers_

Definition at line 217 of file interactive_marker_client.h.

ros::NodeHandle interactive_markers::InteractiveMarkerClient::nh_

Definition at line 139 of file interactive_marker_client.h.

M_SingleClient interactive_markers::InteractiveMarkerClient::publisher_contexts_

Definition at line 165 of file interactive_marker_client.h.

boost::mutex interactive_markers::InteractiveMarkerClient::publisher_contexts_mutex_

Definition at line 166 of file interactive_marker_client.h.

StateMachine<StateT> interactive_markers::InteractiveMarkerClient::state_

Definition at line 148 of file interactive_marker_client.h.

StatusCallback interactive_markers::InteractiveMarkerClient::status_cb_

Definition at line 214 of file interactive_marker_client.h.

std::string interactive_markers::InteractiveMarkerClient::target_frame_

Definition at line 169 of file interactive_marker_client.h.

tf::Transformer& interactive_markers::InteractiveMarkerClient::tf_

Definition at line 168 of file interactive_marker_client.h.

std::string interactive_markers::InteractiveMarkerClient::topic_ns_

Definition at line 150 of file interactive_marker_client.h.

ros::Subscriber interactive_markers::InteractiveMarkerClient::update_sub_

Definition at line 152 of file interactive_marker_client.h.

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

Author(s): David Gossow, William Woodall
autogenerated on Thu Oct 8 2020 04:02:35