Robot Raconteur Core C++ Library
Loading...
Searching...
No Matches
Tap.h
Go to the documentation of this file.
1
23
24#pragma once
25
28#include <boost/bind/placeholders.hpp>
29
30namespace RobotRaconteur
31{
46class ROBOTRACONTEUR_CORE_API MessageTap
47{
48 public:
53 virtual void Open() = 0;
58 virtual void Close() = 0;
59
65 virtual void RecordLogRecord(const RRLogRecord& log_record) = 0;
66
72 virtual void RecordMessage(const RR_INTRUSIVE_PTR<Message>& message) = 0;
73
74 virtual ~MessageTap() {}
75};
76
77#ifndef ROBOTRACONTEUR_EMSCRIPTEN
78
79namespace detail
80{
81class LocalMessageTapImpl;
82}
83
98class ROBOTRACONTEUR_CORE_API LocalMessageTap : public MessageTap
99{
100 RR_WEAK_PTR<detail::LocalMessageTapImpl> tap_impl;
101 std::string tap_name;
102
103 public:
111 LocalMessageTap(const std::string& tap_name);
112 RR_OVIRTUAL ~LocalMessageTap() RR_OVERRIDE;
113
114 RR_OVIRTUAL void Open() RR_OVERRIDE;
115 RR_OVIRTUAL void Close() RR_OVERRIDE;
116
117 RR_OVIRTUAL void RecordLogRecord(const RRLogRecord& log_record) RR_OVERRIDE;
118 RR_OVIRTUAL void RecordMessage(const RR_INTRUSIVE_PTR<Message>& message) RR_OVERRIDE;
119};
120
121#endif
122
123}; // namespace RobotRaconteur
RR_OVIRTUAL void Close() RR_OVERRIDE
Close the tap.
RR_OVIRTUAL void Open() RR_OVERRIDE
Open the tap for writing.
RR_OVIRTUAL void RecordLogRecord(const RRLogRecord &log_record) RR_OVERRIDE
Record a log record.
RR_OVIRTUAL void RecordMessage(const boost::intrusive_ptr< Message > &message) RR_OVERRIDE
Record a message.
LocalMessageTap(const std::string &tap_name)
Construct a new local tap.
Base class for message taps.
Definition Tap.h:47
virtual void RecordMessage(const boost::intrusive_ptr< Message > &message)=0
Record a message.
virtual void Open()=0
Open the tap for writing.
virtual void RecordLogRecord(const RRLogRecord &log_record)=0
Record a log record.
virtual void Close()=0
Close the tap.
Robot Raconteur log record.
Definition Logging.h:49