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_INTRAPROCESS_PUBLISHER_LINK_H
00029 #define ROSCPP_INTRAPROCESS_PUBLISHER_LINK_H
00030
00031 #include "publisher_link.h"
00032 #include "common.h"
00033
00034 #include <boost/thread/recursive_mutex.hpp>
00035
00036 namespace ros
00037 {
00038 class Subscription;
00039 typedef boost::shared_ptr<Subscription> SubscriptionPtr;
00040 typedef boost::weak_ptr<Subscription> SubscriptionWPtr;
00041
00042 class IntraProcessSubscriberLink;
00043 typedef boost::shared_ptr<IntraProcessSubscriberLink> IntraProcessSubscriberLinkPtr;
00044
00049 class ROSCPP_DECL IntraProcessPublisherLink : public PublisherLink
00050 {
00051 public:
00052 IntraProcessPublisherLink(const SubscriptionPtr& parent, const std::string& xmlrpc_uri, const TransportHints& transport_hints);
00053 virtual ~IntraProcessPublisherLink();
00054
00055 void setPublisher(const IntraProcessSubscriberLinkPtr& publisher);
00056
00057 virtual std::string getTransportType();
00058 virtual std::string getTransportInfo();
00059 virtual void drop();
00060
00064 virtual void handleMessage(const SerializedMessage& m, bool ser, bool nocopy);
00065
00066 void getPublishTypes(bool& ser, bool& nocopy, const std::type_info& ti);
00067
00068 private:
00069 IntraProcessSubscriberLinkPtr publisher_;
00070 bool dropped_;
00071 boost::recursive_mutex drop_mutex_;
00072 };
00073 typedef boost::shared_ptr<IntraProcessPublisherLink> IntraProcessPublisherLinkPtr;
00074
00075 }
00076
00077 #endif // ROSCPP_INTRAPROCESS_PUBLISHER_LINK_H
00078
00079
00080
roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim
autogenerated on Thu Jun 6 2019 21:10:05