Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef ROSCPP_FORWARDS_H
00029 #define ROSCPP_FORWARDS_H
00030
00031 #include <string>
00032 #include <vector>
00033 #include <map>
00034 #include <set>
00035 #include <list>
00036
00037 #include <boost/shared_ptr.hpp>
00038 #include <boost/make_shared.hpp>
00039 #include <boost/weak_ptr.hpp>
00040 #include <boost/function.hpp>
00041
00042 #include <ros/time.h>
00043 #include <ros/macros.h>
00044 #include "exceptions.h"
00045 #include "ros/datatypes.h"
00046
00047 namespace ros
00048 {
00049
00050 typedef boost::shared_ptr<void> VoidPtr;
00051 typedef boost::weak_ptr<void> VoidWPtr;
00052 typedef boost::shared_ptr<void const> VoidConstPtr;
00053 typedef boost::weak_ptr<void const> VoidConstWPtr;
00054
00055 class Header;
00056 class Transport;
00057 typedef boost::shared_ptr<Transport> TransportPtr;
00058 class TransportTCP;
00059 typedef boost::shared_ptr<TransportTCP> TransportTCPPtr;
00060 class TransportUDP;
00061 typedef boost::shared_ptr<TransportUDP> TransportUDPPtr;
00062 class Connection;
00063 typedef boost::shared_ptr<Connection> ConnectionPtr;
00064 typedef std::set<ConnectionPtr> S_Connection;
00065 typedef std::vector<ConnectionPtr> V_Connection;
00066 class Publication;
00067 typedef boost::shared_ptr<Publication> PublicationPtr;
00068 typedef std::vector<PublicationPtr> V_Publication;
00069 class SubscriberLink;
00070 typedef boost::shared_ptr<SubscriberLink> SubscriberLinkPtr;
00071 typedef std::vector<SubscriberLinkPtr> V_SubscriberLink;
00072 class Subscription;
00073 typedef boost::shared_ptr<Subscription> SubscriptionPtr;
00074 typedef boost::weak_ptr<Subscription> SubscriptionWPtr;
00075 typedef std::list<SubscriptionPtr> L_Subscription;
00076 typedef std::vector<SubscriptionPtr> V_Subscription;
00077 typedef std::set<SubscriptionPtr> S_Subscription;
00078 class PublisherLink;
00079 typedef boost::shared_ptr<PublisherLink> PublisherLinkPtr;
00080 typedef std::vector<PublisherLinkPtr> V_PublisherLink;
00081 class ServicePublication;
00082 typedef boost::shared_ptr<ServicePublication> ServicePublicationPtr;
00083 typedef std::list<ServicePublicationPtr> L_ServicePublication;
00084 typedef std::vector<ServicePublicationPtr> V_ServicePublication;
00085 class ServiceServerLink;
00086 typedef boost::shared_ptr<ServiceServerLink> ServiceServerLinkPtr;
00087 typedef std::list<ServiceServerLinkPtr> L_ServiceServerLink;
00088 class Transport;
00089 typedef boost::shared_ptr<Transport> TransportPtr;
00090 class NodeHandle;
00091 typedef boost::shared_ptr<NodeHandle> NodeHandlePtr;
00092
00093
00094 class SingleSubscriberPublisher;
00095 typedef boost::function<void(const SingleSubscriberPublisher&)> SubscriberStatusCallback;
00096
00097 class CallbackQueue;
00098 class CallbackQueueInterface;
00099 class CallbackInterface;
00100 typedef boost::shared_ptr<CallbackInterface> CallbackInterfacePtr;
00101
00102 struct SubscriberCallbacks
00103 {
00104 SubscriberCallbacks(const SubscriberStatusCallback& connect = SubscriberStatusCallback(),
00105 const SubscriberStatusCallback& disconnect = SubscriberStatusCallback(),
00106 const VoidConstPtr& tracked_object = VoidConstPtr(),
00107 CallbackQueueInterface* callback_queue = 0)
00108 : connect_(connect)
00109 , disconnect_(disconnect)
00110 , callback_queue_(callback_queue)
00111 {
00112 has_tracked_object_ = false;
00113 if (tracked_object)
00114 {
00115 has_tracked_object_ = true;
00116 tracked_object_ = tracked_object;
00117 }
00118 }
00119 SubscriberStatusCallback connect_;
00120 SubscriberStatusCallback disconnect_;
00121
00122 bool has_tracked_object_;
00123 VoidConstWPtr tracked_object_;
00124 CallbackQueueInterface* callback_queue_;
00125 };
00126 typedef boost::shared_ptr<SubscriberCallbacks> SubscriberCallbacksPtr;
00127
00131 struct TimerEvent
00132 {
00133 Time last_expected;
00134 Time last_real;
00135
00136 Time current_expected;
00137 Time current_real;
00138
00139 struct
00140 {
00141 WallDuration last_duration;
00142 } profile;
00143 };
00144 typedef boost::function<void(const TimerEvent&)> TimerCallback;
00145
00149 struct WallTimerEvent
00150 {
00151 WallTime last_expected;
00152 WallTime last_real;
00153
00154 WallTime current_expected;
00155 WallTime current_real;
00156
00157 struct
00158 {
00159 WallDuration last_duration;
00160 } profile;
00161 };
00162 typedef boost::function<void(const WallTimerEvent&)> WallTimerCallback;
00163
00164 class ServiceManager;
00165 typedef boost::shared_ptr<ServiceManager> ServiceManagerPtr;
00166 class TopicManager;
00167 typedef boost::shared_ptr<TopicManager> TopicManagerPtr;
00168 class ConnectionManager;
00169 typedef boost::shared_ptr<ConnectionManager> ConnectionManagerPtr;
00170 class XMLRPCManager;
00171 typedef boost::shared_ptr<XMLRPCManager> XMLRPCManagerPtr;
00172 class PollManager;
00173 typedef boost::shared_ptr<PollManager> PollManagerPtr;
00174
00175 }
00176
00177 #endif
roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim
autogenerated on Thu Jun 6 2019 21:10:05