4#include "configreference.hh"
5#include <QAbstractTableModel>
6#include "anytone_extension.hh"
19 Q_CLASSINFO(
"IdPrefix",
"aprs")
74 Q_INVOKABLE explicit
GPSSystem(QObject *parent=
nullptr);
87 QObject *parent =
nullptr);
92 bool hasContact() const;
106 bool hasRevertChannel() const;
138 Q_PROPERTY(QString destination READ destination WRITE setDestination SCRIPTABLE false)
140 Q_PROPERTY(
unsigned int destSSID READ destSSID WRITE setDestSSID SCRIPTABLE false)
142 Q_PROPERTY(QString source READ source WRITE setSource SCRIPTABLE false)
144 Q_PROPERTY(
unsigned int srcSSID READ srcSSID WRITE setSrcSSID SCRIPTABLE false)
146 Q_PROPERTY(QString path READ path WRITE setPath SCRIPTABLE false)
149 Q_PROPERTY(
Icon icon READ icon WRITE setIcon)
151 Q_PROPERTY(QString message READ message WRITE setMessage)
156 static const
unsigned PRIMARY_TABLE = (0<<8);
157 static const
unsigned SECONDARY_TABLE = (1<<8);
158 static const
unsigned TABLE_MASK = (3<<8);
159 static const
unsigned ICON_MASK = 0x7f;
163 PoliceStation = (PRIMARY_TABLE | 0), None, Digipeater, Phone, DXCluster, HFGateway, SmallPlane,
164 MobileSatelliteStation, WheelChair, Snowmobile, RedCross, BoyScout, Home, X, RedDot,
165 Circle0, Circle1, Circle2, Circle3, Circle4, Circle5, Circle6, Circle7, Circle8, Circle9,
166 Fire, Campground, Motorcycle, RailEngine, Car, FileServer, HCFuture, AidStation, BBS, Canoe,
167 Eyeball = (PRIMARY_TABLE | 36), Tractor, GridSquare, Hotel, TCPIP, School = (PRIMARY_TABLE | 42),
168 Logon, MacOS, NTSStation, Balloon, PoliceCar, TBD, RV, Shuttle, SSTV, Bus, ATV, WXService, Helo,
169 Yacht, Windows, Jogger, Triangle, PBBS, LargePlane, WXStation, DishAntenna, Ambulance, Bike,
170 ICP, FireStation, Horse, FireTruck, Glider, Hospital, IOTA, Jeep, SmallTruck, Laptop, MicE,
171 Node, EOC, Rover, Grid, Antenna, PowerBoat, TruckStop, TruckLarge, Van, Water, XAPRS, Yagi,
178 Q_INVOKABLE
explicit APRSSystem(QObject *parent=
nullptr);
195 const QString &src,
unsigned srcSSID,
const QString &path=
"", Icon icon=Icon::Jogger,
196 const QString &message=
"",
unsigned period=300, QObject *parent=
nullptr);
204 void setRevertChannel(
FMChannel *revertChannel);
213 const QString &destination()
const;
215 unsigned destSSID()
const;
217 void setDestination(
const QString &call,
unsigned ssid);
219 void setDestination(
const QString &call);
221 void setDestSSID(
unsigned ssid);
224 const QString &source()
const;
226 unsigned srcSSID()
const;
228 void setSource(
const QString &call,
unsigned ssid);
230 void setSource(
const QString &call);
232 void setSrcSSID(
unsigned ssid);
235 const QString &path()
const;
237 void setPath(
const QString &path);
242 void setIcon(
Icon icon);
245 const QString &message()
const;
247 void setMessage(
const QString &msg);
296 int add(
ConfigObject *obj,
int row=-1,
bool unique=
true);
299 int gpsCount()
const;
302 int indexOfGPSSys(
const GPSSystem *gps)
const;
308 int aprsCount()
const;
Parse context for config objects.
Definition configobject.hh:48
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:40
virtual bool copy(const ConfigItem &other)
Copies the given item into this one.
Definition configobject.cc:140
virtual ConfigItem * clone() const =0
Clones this item.
virtual YAML::Node serialize(const Context &context, const ErrorStack &err=ErrorStack())
Recursively serializes the configuration to YAML nodes.
Definition configobject.cc:366
List class for config objects.
Definition configobject.hh:349
Base class of all labeled and named objects.
Definition configobject.hh:199
QString name
The name of the object.
Definition configobject.hh:203
The config class, representing the codeplug configuration.
Definition config.hh:70
Implements a reference to a DMR channel.
Definition configreference.hh:139
Extension to the DigitalChannel class to implement an DMR channel.
Definition channel.hh:354
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:41
Implements a reference to a FM channel.
Definition configreference.hh:151
Extension to the AnalogChannel class to implement an analog FM channel.
Definition channel.hh:210
This class represents a GPS signalling system within the codeplug.
Definition gpssystem.hh:64
Base class of the positioning systems, that is APRS and DMR position reporting system.
Definition gpssystem.hh:17
bool link(const YAML::Node &node, const Context &ctx, const ErrorStack &err=ErrorStack())
Links the given object to the rest of the codeplug using the given context.
Definition gpssystem.cc:66
unsigned _period
Holds the update period in seconds.
Definition gpssystem.hh:57
bool populate(YAML::Node &node, const ConfigItem::Context &context, const ErrorStack &err=ErrorStack())
Recursively serializes the configuration to YAML nodes.
Definition gpssystem.cc:39
void onReferenceModified()
Gets called, whenever a reference is modified.
Definition gpssystem.cc:71
void setPeriod(unsigned period)
Sets the update period in seconds.
Definition gpssystem.cc:33
bool parse(const YAML::Node &node, Context &ctx, const ErrorStack &err=ErrorStack())
Parses the given YAML node, updates the given object and updates the given context (IDs).
Definition gpssystem.cc:46
unsigned period
The update period in seconds.
Definition gpssystem.hh:22
The list of positioning systems.
Definition gpssystem.hh:286