17 #ifndef GZ_TRANSPORT_NODE_HH_
18 #define GZ_TRANSPORT_NODE_HH_
26 #include <unordered_set>
30 #include "gz/transport/config.hh"
31 #include "gz/transport/Export.hh"
48 inline namespace GZ_TRANSPORT_VERSION_NAMESPACE {
86 class GZ_TRANSPORT_VISIBLE
Node
88 class PublisherPrivate;
121 public:
operator bool();
126 public:
operator bool()
const;
178 private:
bool UpdateThrottling();
192 #pragma warning(push)
193 #pragma warning(disable: 4251)
218 public:
template<
typename MessageT>
252 public:
template<
typename MessageT>
255 void(*_callback)(
const MessageT &_msg),
266 public:
template<
typename MessageT>
282 public:
template<
typename ClassT,
typename MessageT>
285 void(ClassT::*_callback)(
const MessageT &_msg),
299 public:
template<
typename MessageT>
302 void(*_callback)(
const MessageT &_msg,
const MessageInfo &_info),
314 public:
template<
typename MessageT>
332 public:
template<
typename ClassT,
typename MessageT>
335 void(ClassT::*_callback)(
const MessageT &_msg,
364 public:
template<
typename RequestT,
typename ReplyT>
367 bool(*_callback)(
const RequestT &_request, ReplyT &_reply),
381 public:
template<
typename ReplyT>
384 bool(*_callback)(ReplyT &_reply),
397 public:
template<
typename RequestT>
400 void(*_callback)(
const RequestT &_request),
415 public:
template<
typename RequestT,
typename ReplyT>
419 ReplyT &_reply)> _callback,
433 public:
template<
typename ReplyT>
449 public:
template<
typename RequestT>
468 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
471 bool(ClassT::*_callback)(
const RequestT &_request, ReplyT &_reply),
487 public:
template<
typename ClassT,
typename ReplyT>
490 bool(ClassT::*_callback)(ReplyT &_reply),
505 public:
template<
typename ClassT,
typename RequestT>
508 void(ClassT::*_callback)(
const RequestT &_request),
527 public:
template<
typename RequestT,
typename ReplyT>
530 const RequestT &_request,
531 void(*_callback)(
const ReplyT &_reply,
const bool _result));
543 public:
template<
typename ReplyT>
546 void(*_callback)(
const ReplyT &_reply,
const bool _result));
559 public:
template<
typename RequestT,
typename ReplyT>
562 const RequestT &_request,
564 const bool _result)> &_callback);
576 public:
template<
typename ReplyT>
580 const bool _result)> &_callback);
594 public:
template<
typename ClassT,
typename RequestT,
typename ReplyT>
597 const RequestT &_request,
598 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
612 public:
template<
typename ClassT,
typename ReplyT>
615 void(ClassT::*_callback)(
const ReplyT &_reply,
const bool _result),
627 public:
template<
typename RequestT,
typename ReplyT>
630 const RequestT &_request,
631 const unsigned int &_timeout,
643 public:
template<
typename ReplyT>
646 const unsigned int &_timeout,
655 public:
template<
typename RequestT>
674 const std::string &_responseType,
unsigned int _timeout,
703 public:
bool TopicInfo(const
std::
string &_topic,
713 public:
void ServiceList(
std::vector<
std::
string> &_services) const;
719 public:
bool ServiceInfo(
720 const
std::
string &_service,
736 public:
bool SubscribeRaw(
737 const
std::
string &_topic,
752 public:
bool EnableStats(const
std::
string &_topic,
bool _enable,
753 const
std::
string &_publicationTopic = "/statistics",
754 uint64_t _publicationRate = 1);
763 const
std::
string &_topic) const;
772 private: const
std::
string &NodeUuid() const;
776 private:
std::unordered_set<
std::
string> &TopicsSubscribed() const;
780 private:
std::unordered_set<
std::
string> &SrvsAdvertised() const;
785 private:
bool SubscribeHelper(const
std::
string &_fullyQualifiedTopic);
790 #pragma warning(push)
791 #pragma warning(disable: 4251)
804 #include "gz/transport/detail/Node.hh"