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 void drop();
00059
00063 virtual void handleMessage(const SerializedMessage& m, bool ser, bool nocopy);
00064
00065 void getPublishTypes(bool& ser, bool& nocopy, const std::type_info& ti);
00066
00067 private:
00068 IntraProcessSubscriberLinkPtr publisher_;
00069 bool dropped_;
00070 boost::recursive_mutex drop_mutex_;
00071 };
00072 typedef boost::shared_ptr<IntraProcessPublisherLink> IntraProcessPublisherLinkPtr;
00073
00074 }
00075
00076 #endif // ROSCPP_INTRAPROCESS_PUBLISHER_LINK_H
00077
00078
00079
roscpp
Author(s): Morgan Quigley, Josh Faust, Brian Gerkey, Troy Straszheim
autogenerated on Mon Oct 6 2014 11:46:44