18 #ifndef IGNITION_TRANSPORT_LOG_QUERYOPTIONS_HH_ 19 #define IGNITION_TRANSPORT_LOG_QUERYOPTIONS_HH_ 27 #include <ignition/transport/config.hh> 28 #include <ignition/transport/log/Export.hh> 40 inline namespace IGNITION_TRANSPORT_VERSION_NAMESPACE {
45 class IGNITION_TRANSPORT_LOG_VISIBLE QueryOptions
52 const Descriptor &_descriptor)
const = 0;
67 public:
static SqlStatement StandardMessageQueryPreamble();
74 public:
static SqlStatement StandardMessageQueryClose();
77 public:
virtual ~QueryOptions() =
default;
83 class IGNITION_TRANSPORT_LOG_VISIBLE TimeRangeOption
87 public:
explicit TimeRangeOption(
const QualifiedTimeRange &_timeRange);
91 public: TimeRangeOption(
const TimeRangeOption &_other);
95 public: TimeRangeOption(TimeRangeOption &&_other);
100 public: QualifiedTimeRange &TimeRange();
105 public:
const QualifiedTimeRange &TimeRange()
const;
111 public: SqlStatement GenerateTimeConditions()
const;
114 public: ~TimeRangeOption();
117 private:
class Implementation;
122 #pragma warning(push) 123 #pragma warning(disable: 4251) 134 class IGNITION_TRANSPORT_LOG_VISIBLE TopicList final
135 :
public virtual QueryOptions,
136 public virtual TimeRangeOption
151 public:
template <
typename Container>
152 static TopicList Create(
153 const Container &_topics,
166 public: TopicList(
const TopicList &_other);
170 public: TopicList(TopicList &&_other);
184 const Descriptor &_descriptor)
const override;
187 public: ~TopicList();
190 private:
class Implementation;
195 #pragma warning(push) 196 #pragma warning(disable: 4251) 207 class IGNITION_TRANSPORT_LOG_VISIBLE TopicPattern final
208 :
public virtual QueryOptions,
209 public virtual TimeRangeOption
215 public: TopicPattern(
221 public: TopicPattern(
const TopicPattern &_other);
225 public: TopicPattern(TopicPattern &&_other);
239 const Descriptor &_descriptor)
const override;
242 public: ~TopicPattern();
245 private:
class Implementation;
250 #pragma warning(push) 251 #pragma warning(disable: 4251) 262 class IGNITION_TRANSPORT_LOG_VISIBLE AllTopics final
263 :
public virtual QueryOptions,
264 public virtual TimeRangeOption
269 public:
explicit AllTopics(
274 public: AllTopics(
const AllTopics &_other);
278 public: AllTopics(AllTopics &&_other);
282 const Descriptor &_descriptor)
const override;
285 public: ~AllTopics();
288 private:
class Implementation;
293 #pragma warning(push) 294 #pragma warning(disable: 4251) 307 #include <ignition/transport/log/detail/QueryOptions.hh>
static QualifiedTimeRange AllTime()
Construct a time range that has no beginning or end.
Definition: AdvertiseOptions.hh:28