4#include "configobject.hh"
5#include <QGeoCoordinate>
12 Q_CLASSINFO(
"description",
"Some common global GNSS settings.");
14 Q_CLASSINFO(
"fixedPositionEnabledDescription",
"If enabled, the fixed position is used instead of the GNSS position.")
17 Q_CLASSINFO(
"fixedPositionDescription",
"Some fixed position (locator).")
20 Q_CLASSINFO(
"systemsDescription",
"Enabled GNSSs.")
23 Q_CLASSINFO(
"unitsDescrption",
"Specifies unit system.")
33 Fixed = 0, GPS = 1, Glonass = 2, Galileo = 4, Beidou = 8
44 bool fixedPositionEnabled()
const;
45 void enableFixedPosition(
bool use);
49 QString fixedPositionLocator()
const;
50 void setFixedPositionLocator(
const QString &locator);
53 void setSystems(
Systems systems);
56 void setUnits(Units units);
59 bool _fixedPositionEnabled;
71 struct convert<QGeoCoordinate>
74 static Node
encode(
const QGeoCoordinate& rhs) {
76 return Node(YAML::Null);
79 list[
"longitude"] = rhs.longitude();
80 list[
"latitude"] = rhs.latitude();
81 if (std::isfinite(rhs.altitude()))
82 list[
"altitude"] = rhs.altitude();
87 static bool decode(
const Node& node, QGeoCoordinate& rhs) {
89 rhs = QGeoCoordinate();
94 if ((!node[
"longitude"]) || (!node[
"longitude"].IsScalar()))
96 if ((!node[
"latitude"]) || (!node[
"latitude"].IsScalar()))
98 rhs.setLongitude(node[
"longitude"].as<double>(std::numeric_limits<double>::quiet_NaN()));
99 rhs.setLatitude(node[
"latitude"].as<double>(std::numeric_limits<double>::quiet_NaN()));
100 if (node[
"altitude"] && node[
"altitude"].IsScalar())
101 rhs.setAltitude(node[
"altitude"].as<double>(std::numeric_limits<double>::quiet_NaN()));
Base class of all device/vendor specific configuration extensions.
Definition configobject.hh:239
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:35
const Object * as() const
Casts this object to the given type.
Definition configobject.hh:146
Some common global GNSS settings.
Definition gnsssettings.hh:9
ConfigItem * clone() const override
Clones this item.
Definition gnsssettings.cc:13
static bool decode(const Node &node, QGeoCoordinate &rhs)
Parses the frequency.
Definition gnsssettings.hh:87
static Node encode(const QGeoCoordinate &rhs)
Serializes the frequency.
Definition gnsssettings.hh:74