4#include <QtCore/QStringList>
5#include <QtCore/QTimer>
6#include <QtQmlIntegration/QtQmlIntegration>
25 explicit FactGroup(
int updateRateMsecs,
const QString &metaDataFile, QObject *parent =
nullptr,
bool ignoreCamelCase =
false);
26 explicit FactGroup(
int updateRateMsecs, QObject *parent =
nullptr,
bool ignoreCamelCase =
false);
30 Q_INVOKABLE
bool factExists(
const QString &name)
const;
34 Q_INVOKABLE
Fact *
getFact(
const QString &name)
const;
76 static QString _camelCase(
const QString &text);
79 const bool _ignoreCamelCase =
false;
80 bool _telemetryAvailable =
false;
struct __mavlink_message mavlink_message_t
Used to group Facts together into an object hierarachy.
QMap< QString, Fact * > _nameToFactMap
void telemetryAvailableChanged(bool telemetryAvailable)
const QMap< QString, FactGroup * > & factGroups() const
QMap< QString, FactMetaData * > _nameToFactMetaDataMap
virtual void _updateAllValues()
void _addFactGroup(FactGroup *factGroup)
void _setTelemetryAvailable(bool telemetryAvailable)
Q_INVOKABLE Fact * getFact(const QString &name) const
void factGroupNamesChanged()
QStringList factNames() const
void _addFactGroup(FactGroup *factGroup, const QString &name)
Q_INVOKABLE bool factExists(const QString &name) const
@ return true: if the fact exists in the group
QMap< QString, FactGroup * > _nameToFactGroupMap
void _addFact(Fact *fact, const QString &name)
Q_INVOKABLE FactGroup * getFactGroup(const QString &name) const
QStringList factGroupNames() const
Q_INVOKABLE void setLiveUpdates(bool liveUpdates)
Turning on live updates will allow value changes to flow through as they are received.
bool telemetryAvailable() const
const int _updateRateMSecs
Update rate for Fact::valueChanged signals, 0: immediate update.
virtual void handleMessage(Vehicle *, const mavlink_message_t &)
Allows a FactGroup to parse incoming messages and fill in values.
void _addFact(Fact *fact)
void _loadFromJsonArray(const QJsonArray &jsonArray)
A Fact is used to hold a single value within the system.