libdrmconf
0.12.0
A library to program DMR radios.
|
Base class for all configuration objects (channels, zones, contacts, etc). More...
#include <configobject.hh>
Classes | |
class | Context |
Parse context for config objects. More... | |
Signals | |
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. | |
Public Member Functions | |
virtual bool | copy (const ConfigItem &other) |
Copies the given item into this one. More... | |
virtual ConfigItem * | clone () const =0 |
Clones this item. | |
virtual int | compare (const ConfigItem &other) const |
Compares the items. More... | |
virtual bool | label (Context &context, const ErrorStack &err=ErrorStack()) |
Recursively labels the config object. More... | |
virtual YAML::Node | serialize (const Context &context, const ErrorStack &err=ErrorStack()) |
Recursively serializes the configuration to YAML nodes. More... | |
virtual ConfigItem * | allocateChild (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 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... | |
virtual 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. | |
virtual void | clear () |
Clears the config object. | |
virtual const Config * | config () 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 Member Functions | |
ConfigItem (QObject *parent=nullptr) | |
Hidden constructor. More... | |
virtual bool | populate (YAML::Node &node, const Context &context, const ErrorStack &err=ErrorStack()) |
Recursively serializes the configuration to YAML nodes. More... | |
Base class for all configuration objects (channels, zones, contacts, etc).
|
explicitprotected |
Hidden constructor.
parent | Specifies the QObject parent. |
|
virtual |
Allocates an instance for the given property on the given YAML node.
This is usually done automatically based on the meta-type of the property. To be able to instantiate the item, its default constructor must be Q_INVOKABLE.
|
virtual |
Compares the items.
This method returns 0 if the two items are equivalent and -1, 1 otherwise. The established order is somewhat arbitrary.
|
virtual |
Copies the given item into this one.
true
if copying was successful and false otherwise. The two items must be of the same type (obviously). Reimplemented in RadioSettings, Melody, APRSSystem, Config, SelectedChannel, FMChannel, and Channel.
|
virtual |
Recursively labels the config object.
Does not assign a label if the idBase
passed to the constructor is empty.
Reimplemented in ConfigObject.
|
signal |
Gets emitted once the config object is modified.
The instance passed is the modified item, this event is passed up the config tree.
|
virtual |
Parses the given YAML node, updates the given object and updates the given context (IDs).
Reimplemented in APRSSystem, PositioningSystem, AESEncryptionKey, EnhancedEncryptionKey, BasicEncryptionKey, Contact, ConfigObject, Config, FMChannel, Channel, RoamingChannel, and DMRRadioID.
|
protectedvirtual |
Recursively serializes the configuration to YAML nodes.
The complete configuration must be labeled first.
Reimplemented in APRSSystem, ConfigObject, Config, FMChannel, Channel, RoamingZone, RoamingChannel, and PositioningSystem.
|
virtual |
Recursively serializes the configuration to YAML nodes.
The complete configuration must be labeled first.
Reimplemented in RXGroupList, DMRRadioID, APRSSystem, GPSSystem, AESEncryptionKey, EnhancedEncryptionKey, BasicEncryptionKey, DMRContact, DTMFContact, DMRChannel, and FMChannel.