QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
ULogFullHandler.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QHash>
4#include <QtCore/QPointF>
5#include <QtCore/QSet>
6#include <QtCore/QString>
7#include <QtCore/QVector>
8
9#include <map>
10#include <memory>
11#include <string>
12
13#include <ulog_cpp/data_handler_interface.hpp>
14#include <ulog_cpp/messages.hpp>
15
16struct LogParseResult;
17
22class ULogFullHandler final : public ulog_cpp::DataHandlerInterface
23{
24public:
25 explicit ULogFullHandler(LogParseResult &result);
26 ~ULogFullHandler() = default;
27
28 void error(const std::string &msg, bool is_recoverable) override;
29 void messageFormat(const ulog_cpp::MessageFormat &message_format) override;
30 void addLoggedMessage(const ulog_cpp::AddLoggedMessage &add_logged_message) override;
31 void headerComplete() override;
32 void data(const ulog_cpp::Data &data) override;
33 void logging(const ulog_cpp::Logging &logging) override;
34 void parameter(const ulog_cpp::Parameter &parameter) override;
35 void dropout(const ulog_cpp::Dropout &dropout) override;
36
37 bool hadFatalError() const { return _hadFatalError; }
38 bool isHeaderComplete() const { return _headerComplete; }
39
42 void finalize();
43
44private:
45 LogParseResult &_result;
46
47 struct SubscriptionInfo {
48 std::shared_ptr<ulog_cpp::MessageFormat> format;
49 uint8_t multiId{0};
50 std::string topicName;
51 };
52
53 std::map<std::string, std::shared_ptr<ulog_cpp::MessageFormat>> _formats;
54 std::map<uint16_t, SubscriptionInfo> _subscriptions;
55 QSet<QString> _fieldSet;
56 QSet<QString> _plottableFieldSet;
57 double _lastTimestampSecs{-1.0};
58 bool _hadFatalError{false};
59 bool _headerComplete{false};
60};
Error error
void parameter(const ulog_cpp::Parameter &parameter) override
~ULogFullHandler()=default
bool isHeaderComplete() const
void addLoggedMessage(const ulog_cpp::AddLoggedMessage &add_logged_message) override
void logging(const ulog_cpp::Logging &logging) override
bool hadFatalError() const
void messageFormat(const ulog_cpp::MessageFormat &message_format) override
void data(const ulog_cpp::Data &data) override
void dropout(const ulog_cpp::Dropout &dropout) override
void headerComplete() override