Go to the documentation of this file.
29 #ifndef ROSCPP_SUBSCRIPTION_H
30 #define ROSCPP_SUBSCRIPTION_H
33 #include "ros/common.h"
34 #include "ros/header.h"
35 #include "ros/forwards.h"
36 #include "ros/transport_hints.h"
37 #include "ros/xmlrpc_manager.h"
38 #include "ros/statistics.h"
39 #include "xmlrpcpp/XmlRpc.h"
51 class SubscriptionCallback;
84 bool pubUpdate(
const std::vector<std::string> &pubs);
89 bool negotiateConnection(
const std::string& xmlrpc_uri);
103 typedef std::map<std::string, std::string>
M_string;
112 const std::string
md5sum();
119 const std::string&
getName()
const {
return name_; }
121 uint32_t getNumPublishers();
130 , udp_transport_(udp_transport)
132 , remote_uri_(remote_uri)
162 if (client_->executeCheckDone(result))
164 parent->pendingConnectionDone(std::dynamic_pointer_cast<PendingConnection>(shared_from_this()), result);
183 void getPublishTypes(
bool& ser,
bool& nocopy,
const std::type_info& ti);
191 void dropAllConnections();
const char * md5sum()
returns MD5Sum<M>::value();
PendingConnection(XmlRpc::XmlRpcClient *client, TransportUDPPtr udp_transport, const SubscriptionWPtr &parent, const std::string &remote_uri)
std::shared_ptr< SubscriptionQueue > SubscriptionQueuePtr
Manages a subscription on a single topic.
std::mutex shutdown_mutex_
TransportUDPPtr getUDPTransport() const
std::map< std::string, std::string > M_string
CallbackQueueInterface * callback_queue_
const char * datatype()
returns DataType<M>::value();
std::shared_ptr< std::map< std::string, std::string > > connection_header
uint32_t nonconst_callbacks_
std::map< PublisherLinkPtr, LatchInfo > M_PublisherLinkToLatchInfo
std::shared_ptr< MessageDeserializer > MessageDeserializerPtr
std::vector< CallbackInfoPtr > V_CallbackInfo
TransportHints transport_hints_
ROSCPP_DECL void shutdown()
Disconnects everything and unregisters from the master. It is generally not necessary to call this fu...
const std::string & getName() const
SerializedMessage message
std::set< PendingConnectionPtr > S_PendingConnection
S_PendingConnection pending_connections_
A class to send XML RPC requests to a server and return the results.
std::weak_ptr< void const > VoidConstWPtr
std::shared_ptr< CallbackInfo > CallbackInfoPtr
std::mutex callbacks_mutex_
std::shared_ptr< TransportUDP > TransportUDPPtr
StatisticsLogger statistics_
std::weak_ptr< Subscription > SubscriptionWPtr
std::mutex pending_connections_mutex_
void addSource(XmlRpcSource *source, unsigned eventMask)
std::shared_ptr< SubscriptionCallbackHelper > SubscriptionCallbackHelperPtr
std::shared_ptr< PendingConnection > PendingConnectionPtr
This class logs statistics data about a ROS connection and publishs them periodically on a common top...
Abstract interface for a queue used to handle all callbacks within roscpp.
SubscriptionQueuePtr subscription_queue_
void removeSource(XmlRpcSource *source)
M_PublisherLinkToLatchInfo latched_messages_
TransportUDPPtr udp_transport_
std::shared_ptr< SubscriptionCallback > SubscriptionCallbackPtr
virtual void removeFromDispatch(XmlRpc::XmlRpcDispatch *disp)
V_CallbackInfo callbacks_
XmlRpc::XmlRpcClient * client_
VoidConstWPtr tracked_object_
Provides a way of specifying network transport hints to ros::NodeHandle::subscribe() and someday ros:...
SubscriptionCallbackHelperPtr helper_
std::vector< std::pair< const std::type_info *, MessageDeserializerPtr > > V_TypeAndDeserializer
Abstract base class used by subscriptions to deal with concrete message types through a common interf...
uint32_t getNumCallbacks() const
std::shared_ptr< Publication > PublicationPtr
XmlRpc::XmlRpcClient * getClient() const
bool isDropped()
Returns whether this Subscription has been dropped or not.
std::shared_ptr< PublisherLink > PublisherLinkPtr
virtual void addToDispatch(XmlRpc::XmlRpcDispatch *disp)
const std::string & getRemoteURI()
std::vector< PublisherLinkPtr > V_PublisherLink
std::mutex publisher_links_mutex_
std::shared_ptr< void const > VoidConstPtr
V_PublisherLink publisher_links_
RPC method arguments and results are represented by Values.
std::shared_ptr< Subscription > SubscriptionPtr
V_TypeAndDeserializer cached_deserializers_
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof , Martin Günther
autogenerated on Fri Oct 25 2024 02:47:12