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

Represents a roaming channel. More...

#include <roamingchannel.hh>

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

Public Member Functions

 RoamingChannel (QObject *parent=nullptr)
 Default constructor for a roaming channel.
 
 RoamingChannel (const RoamingChannel &other, QObject *parent=nullptr)
 Copy constructor.
 
ConfigItemclone () const
 Clones this item.
 
void clear ()
 Clears the config object.
 
double rxFrequency () const
 Returns the RX frequency in MHz.
 
void setRXFrequency (double f)
 Sets the RX frquency in MHz.
 
double txFrequency () const
 Returns the TX frequency in MHz.
 
void setTXFrequency (double f)
 Sets the TX frquency in MHz.
 
bool colorCodeOverridden () const
 Returns true, if the color code of the channel gets overridden.
 
void overrideColorCode (bool override)
 Enables/disables overriding the color code of the channel.
 
unsigned int colorCode () const
 Returns the color code.
 
void setColorCode (unsigned int cc)
 Sets the color code.
 
bool timeSlotOverridden () const
 Returns true, if the time slot of the channel gets overridden.
 
void overrideTimeSlot (bool override)
 Enables/disables overriding the time slot of the channel.
 
DMRChannel::TimeSlot timeSlot () const
 Returns the time slot.
 
void setTimeSlot (DMRChannel::TimeSlot ts)
 Sets the time slot.
 
bool parse (const YAML::Node &node, Context &ctx, const ErrorStack &err)
 Parses the given YAML node, updates the given object and updates the given context (IDs). More...
 
- 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 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 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 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.
 

Static Public Member Functions

static RoamingChannelfromDMRChannel (DMRChannel *ch, DMRChannel *ref=nullptr)
 Helper method to construct a Roaming channel from a given DMR channel. More...
 

Protected Member Functions

bool populate (YAML::Node &node, const Context &context, const ErrorStack &err)
 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

double _rxFrequency
 Holds the RX frequency in MHz.
 
double _txFrequency
 Holds the TX frequency in MHz.
 
bool _overrideColorCode
 If true, the color code of the channel gets overridden by the one specified in _colorCode.
 
unsigned int _colorCode
 If _overrideColorCode is true, specifies the color code.
 
bool _overrideTimeSlot
 If true, the time slot of the channel gets overridden by the one specified in _timeSlot.
 
DMRChannel::TimeSlot _timeSlot
 If _overrideTimeSlot is true, specifies the time slot.
 
- Protected Attributes inherited from ConfigObject
QString _name
 Holds the name of the object.
 

Properties

double rxFrequency
 Holds the RX frequency in MHz.
 
double txFrequency
 Holds the TX frequency in MHz.
 
bool overrideColorCode
 If true, the color code of the channel gets overridden by the one specified in colorCode.
 
unsigned int colorCode
 If overrideColorCode is true, specifies the color code.
 
bool overrideTimeSlot
 If true, the time slot of the channel gets overridden by the one specified in timeSlot.
 
DMRChannel::TimeSlot timeSlot
 If overrideTimeSlot is true, specifies the time slot.
 
- 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

Represents a roaming channel.

That is, an incomplete DMR channel, that overrides some channel settings to allow for roaming between repeaters. To this end, the roaming channel may override only those channel settings, that are repeater specific like frequencies and color-codes but keeps DMR contact settings. Some of these properties are overridden optionally (time slot and color code) while the RX/TX frequencies are overridden always.

Member Function Documentation

◆ fromDMRChannel()

RoamingChannel * RoamingChannel::fromDMRChannel ( DMRChannel ch,
DMRChannel ref = nullptr 
)
static

Helper method to construct a Roaming channel from a given DMR channel.

Optionally with reference to a third one.

◆ parse()

bool RoamingChannel::parse ( const YAML::Node &  node,
Context ctx,
const ErrorStack err 
)
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.

◆ populate()

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

Recursively serializes the configuration to YAML nodes.

The complete configuration must be labeled first.

Reimplemented from ConfigObject.


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