libdrmconf  0.11.3
A library to program DMR radios.
Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Properties | List of all members
PositioningSystem Class Reference

Base class of the positioning systems, that is APRS and DMR position reporting system. More...

#include <gpssystem.hh>

Inheritance diagram for PositioningSystem:
Inheritance graph
[legend]
Collaboration diagram for PositioningSystem:
Collaboration graph
[legend]

Public Member Functions

virtual ~PositioningSystem ()
 Destructor.
 
unsigned period () const
 Returns the update period in seconds.
 
void setPeriod (unsigned period)
 Sets the update period in seconds.
 
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). More...
 
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.
 
- Public Member Functions inherited from ConfigObject
virtual const QString & name () const
 Returns the name of the object.
 
virtual void setName (const QString &name)
 Sets the name of the object.
 
QString idPrefix () const
 Returns the ID prefix for this object.
 
bool label (Context &context, const ErrorStack &err=ErrorStack())
 Recursively labels the config object. More...
 
- Public Member Functions inherited from ConfigItem
virtual bool copy (const ConfigItem &other)
 Copies the given item into this one. More...
 
virtual ConfigItemclone () const =0
 Clones this item.
 
virtual int compare (const ConfigItem &other) const
 Compares the items. More...
 
virtual YAML::Node serialize (const Context &context, const ErrorStack &err=ErrorStack())
 Recursively serializes the configuration to YAML nodes. More...
 
virtual ConfigItemallocateChild (QMetaProperty &prop, const YAML::Node &node, const Context &ctx, const ErrorStack &err=ErrorStack())
 Allocates an instance for the given property on the given YAML node. More...
 
virtual void clear ()
 Clears the config object.
 
virtual const Configconfig () const
 Returns the config, the item belongs to or nullptr if not part of a config.
 
virtual void findItemsOfTypes (const QStringList &typeNames, QSet< ConfigItem * > &items) const
 Searches the config tree to find all instances of the given type names.
 
template<class Object >
bool is () const
 Returns true if this object is of class Object.
 
template<class Object >
const Object * as () const
 Casts this object to the given type.
 
template<class Object >
Object * as ()
 Casts this object to the given type.
 
bool hasDescription () const
 Returns true if there is a class info "description" for this instance.
 
bool hasLongDescription () const
 Returns true if there is a class info "longDescription" for this instance.
 
bool hasDescription (const QMetaProperty &prop) const
 Returns true if there is a class info "[PropertyName]Description" for the given property.
 
bool hasLongDescription (const QMetaProperty &prop) const
 Returns true if there is a class info "[PropertyName]LongDescription" for the given property.
 
QString description () const
 Returns the description of this instance if set by a class info.
 
QString longDescription () const
 Returns the long description of this instance if set by a class info.
 
QString description (const QMetaProperty &prop) const
 Returns the description of property if set by a class info.
 
QString longDescription (const QMetaProperty &prop) const
 Returns the long description of property if set by a class info.
 

Protected Slots

void onReferenceModified ()
 Gets called, whenever a reference is modified.
 

Protected Member Functions

 PositioningSystem (QObject *parent=nullptr)
 Default constructor.
 
 PositioningSystem (const QString &name, unsigned period=300, QObject *parent=nullptr)
 Hidden constructor. More...
 
bool populate (YAML::Node &node, const ConfigItem::Context &context, const ErrorStack &err=ErrorStack())
 Recursively serializes the configuration to YAML nodes. More...
 
- Protected Member Functions inherited from ConfigObject
 ConfigObject (QObject *parent=nullptr)
 Specifies the prefix for every ID assigned to every object during serialization. More...
 
 ConfigObject (const QString &name, QObject *parent=nullptr)
 Hidden constructor. More...
 
- Protected Member Functions inherited from ConfigItem
 ConfigItem (QObject *parent=nullptr)
 Hidden constructor. More...
 

Protected Attributes

unsigned _period
 Holds the update period in seconds.
 
- Protected Attributes inherited from ConfigObject
QString _name
 Holds the name of the object.
 

Properties

unsigned period
 The update period in seconds.
 
- Properties inherited from ConfigObject
QString name
 The name of the object.
 

Additional Inherited Members

- Signals inherited from ConfigItem
void modified (ConfigItem *obj)
 Gets emitted once the config object is modified. More...
 
void beginClear ()
 Gets emitted before clearing the item.
 
void endClear ()
 Gets emitted after clearing the item.
 
- Static Protected Member Functions inherited from ConfigObject
static QString findIdPrefix (const QMetaObject *meta)
 Helper to find the IdPrefix class info in the class hierarchy.
 

Detailed Description

Base class of the positioning systems, that is APRS and DMR position reporting system.

Constructor & Destructor Documentation

◆ PositioningSystem()

PositioningSystem::PositioningSystem ( const QString &  name,
unsigned  period = 300,
QObject *  parent = nullptr 
)
protected

Hidden constructor.

The PositioningSystem class is not instantiated directly, use either GPSSystem or APRSSystem instead.

Parameters
nameSpecifies the name of the system.
periodSpecifies the auto-update period in seconds.
parentSpecified the QObject parent object.

Member Function Documentation

◆ parse()

bool PositioningSystem::parse ( const YAML::Node &  node,
Context ctx,
const ErrorStack err = ErrorStack() 
)
virtual

Parses the given YAML node, updates the given object and updates the given context (IDs).

Todo:
With Qt 5.15, we can use the REQUIRED flag to check for mandatory properties. However, Ubuntu 20.04 (Focal) comes with Qt 5.12.

Reimplemented from ConfigObject.

Reimplemented in APRSSystem.

◆ populate()

bool PositioningSystem::populate ( YAML::Node &  node,
const ConfigItem::Context context,
const ErrorStack err = ErrorStack() 
)
protectedvirtual

Recursively serializes the configuration to YAML nodes.

The complete configuration must be labeled first.

Reimplemented from ConfigObject.

Reimplemented in APRSSystem.


The documentation for this class was generated from the following files: