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/weak_ptr.hpp>
00039 #include <boost/function.hpp>
00040
00041 #include <ros/time.h>
00042 #include <ros/macros.h>
00043 #include "exceptions.h"
00044 #include "ros/datatypes.h"
00045
00046 namespace ros
00047 {
00048
00049 typedef boost::shared_ptr<void> VoidPtr;
00050 typedef boost::weak_ptr<void> VoidWPtr;
00051 typedef boost::shared_ptr<void const> VoidConstPtr;
00052 typedef boost::weak_ptr<void const> VoidConstWPtr;
00053
00054 class Header;
00055 class Transport;
00056 typedef boost::shared_ptr<Transport> TransportPtr;
00057 class TransportTCP;
00058 typedef boost::shared_ptr<TransportTCP> TransportTCPPtr;
00059 class TransportUDP;
00060 typedef boost::shared_ptr<TransportUDP> TransportUDPPtr;
00061 class Connection;
00062 typedef boost::shared_ptr<Connection> ConnectionPtr;
00063 typedef std::set<ConnectionPtr> S_Connection;
00064 typedef std::vector<ConnectionPtr> V_Connection;
00065 class Publication;
00066 typedef boost::shared_ptr<Publication> PublicationPtr;
00067 typedef std::vector<PublicationPtr> V_Publication;
00068 class SubscriberLink;
00069 typedef boost::shared_ptr<SubscriberLink> SubscriberLinkPtr;
00070 typedef std::vector<SubscriberLinkPtr> V_SubscriberLink;
00071 class Subscription;
00072 typedef boost::shared_ptr<Subscription> SubscriptionPtr;
00073 typedef boost::weak_ptr<Subscription> SubscriptionWPtr;
00074 typedef std::list<SubscriptionPtr> L_Subscription;
00075 typedef std::vector<SubscriptionPtr> V_Subscription;
00076 typedef std::set<SubscriptionPtr> S_Subscription;
00077 class PublisherLink;
00078 typedef boost::shared_ptr<PublisherLink> PublisherLinkPtr;
00079 typedef std::vector<PublisherLinkPtr> V_PublisherLink;
00080 class ServicePublication;
00081 typedef boost::shared_ptr<ServicePublication> ServicePublicationPtr;
00082 typedef std::list<ServicePublicationPtr> L_ServicePublication;
00083 typedef std::vector<ServicePublicationPtr> V_ServicePublication;
00084 class ServiceServerLink;
00085 typedef boost::shared_ptr<ServiceServerLink> ServiceServerLinkPtr;
00086 typedef std::list<ServiceServerLinkPtr> L_ServiceServerLink;
00087 class Transport;
00088 typedef boost::shared_ptr<Transport> TransportPtr;
00089 class NodeHandle;
00090 typedef boost::shared_ptr<NodeHandle> NodeHandlePtr;
00091
00092
00093 class SingleSubscriberPublisher;
00094 typedef boost::function<void(const SingleSubscriberPublisher&)> SubscriberStatusCallback;
00095
00096 class CallbackQueue;
00097 class CallbackQueueInterface;
00098 class CallbackInterface;
00099 typedef boost::shared_ptr<CallbackInterface> CallbackInterfacePtr;
00100
00101 struct SubscriberCallbacks
00102 {
00103 SubscriberCallbacks(const SubscriberStatusCallback& connect = SubscriberStatusCallback(),
00104 const SubscriberStatusCallback& disconnect = SubscriberStatusCallback(),
00105 const VoidConstPtr& tracked_object = VoidConstPtr(),
00106 CallbackQueueInterface* callback_queue = 0)
00107 : connect_(connect)
00108 , disconnect_(disconnect)
00109 , callback_queue_(callback_queue)
00110 {
00111 has_tracked_object_ = false;
00112 if (tracked_object)
00113 {
00114 has_tracked_object_ = true;
00115 tracked_object_ = tracked_object;
00116 }
00117 }
00118 SubscriberStatusCallback connect_;
00119 SubscriberStatusCallback disconnect_;
00120
00121 bool has_tracked_object_;
00122 VoidConstWPtr tracked_object_;
00123 CallbackQueueInterface* callback_queue_;
00124 };
00125 typedef boost::shared_ptr<SubscriberCallbacks> SubscriberCallbacksPtr;
00126
00130 struct TimerEvent
00131 {
00132 Time last_expected;
00133 Time last_real;
00134
00135 Time current_expected;
00136 Time current_real;
00137
00138 struct
00139 {
00140 WallDuration last_duration;
00141 } profile;
00142 };
00143 typedef boost::function<void(const TimerEvent&)> TimerCallback;
00144
00148 struct WallTimerEvent
00149 {
00150 WallTime last_expected;
00151 WallTime last_real;
00152
00153 WallTime current_expected;
00154 WallTime current_real;
00155
00156 struct
00157 {
00158 WallDuration last_duration;
00159 } profile;
00160 };
00161 typedef boost::function<void(const WallTimerEvent&)> WallTimerCallback;
00162
00163 class ServiceManager;
00164 typedef boost::shared_ptr<ServiceManager> ServiceManagerPtr;
00165 class TopicManager;
00166 typedef boost::shared_ptr<TopicManager> TopicManagerPtr;
00167 class ConnectionManager;
00168 typedef boost::shared_ptr<ConnectionManager> ConnectionManagerPtr;
00169 class XMLRPCManager;
00170 typedef boost::shared_ptr<XMLRPCManager> XMLRPCManagerPtr;
00171 class PollManager;
00172 typedef boost::shared_ptr<PollManager> PollManagerPtr;
00173
00174 }
00175
00176 #endif
roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim
autogenerated on Fri Aug 28 2015 12:33:10