libdrmconf  0.11.0
A library to program DMR radios.
Classes

This module collects all classes used to define the limits for each supported radio. More...

Collaboration diagram for Radio Limits:

Classes

class  RadioLimitIssue
 Represents a single issue found during verification. More...
 
class  RadioLimitContext
 Collects the issues found during verification. More...
 
class  RadioLimitElement
 Abstract base class for all radio limits. More...
 
class  RadioLimitValue
 Base class to verify values. More...
 
class  RadioLimitString
 Checks a string valued property. More...
 
class  RadioLimitStringRegEx
 Verifies that a string matches a regular expression. More...
 
class  RadioLimitStringIgnored
 Notifies the user that a string gets ignored. More...
 
class  RadioLimitBool
 Checks if a property is a boolean value. More...
 
class  RadioLimitUInt
 Represents a limit for an unsigned integer value. More...
 
class  RadioLimitDMRId
 Represents a DMR ID. More...
 
class  RadioLimitEnum
 Represents a limit for a set of enum values. More...
 
class  RadioLimitFrequencies
 Represents a limit on frequencies in MHz. More...
 
class  RadioLimitTransmitFrequencies
 Specialization for transmit frequency limits. More...
 
class  RadioLimitItem
 Represents the limits for a ConfigItem instance. More...
 
class  RadioLimitObject
 Represents the limits for all properties of a ConfigObject instance. More...
 
class  RadioLimitIgnored
 Represents an ignored element in the codeplug. More...
 
class  RadioLimitObjects
 Dispatch by class. More...
 
class  RadioLimitObjRef
 Limits the possible classes a ConfigObjectReference may refer to. More...
 
class  RadioLimitObjRefIgnored
 Issues a notification if a reference is set. More...
 
class  RadioLimitList
 Specifies the limits for a list of ConfigObject instances. More...
 
class  RadioLimitRefList
 Implements the limits for reference lists. More...
 
class  RadioLimitGroupCallRefList
 Implements the limits for a list of references to group call contacts. More...
 
class  RadioLimitSingleZone
 Specialized RadioLimitObject handling a zone for radio supporting only a single channel list per zone. More...
 
class  RadioLimits
 Represents the limits or the entire codeplug. More...
 

Detailed Description

This module collects all classes used to define the limits for each supported radio.

That is, a tree of objects that hold the limitations like string length, number of elements in a list etc. for the various settings of a radio including their extensions.

This system will replace the static Radio::Features struct. The associated limits for each radio can be obtained using the Radio::limits method.

Many classes in this module provide an initializer list constructor. This allows for an easy construction of radio limits programmatically like

new RadioLimitItem { // < Describes an ConfigItem
{ "radioIDs", // < with an 'radioIDs' property
new RadioLimitList( // < that is a list,
RadioId::staticMetaObject, // < holding instances of RadioId,
1, 10, // of at least one but max 10 elements
new RadioLimitObject { // < of objects, with
{ "name", // < a name
new RadioLimitString(1, 16) }, // being a string between 1 and 10 chars
{ "id", // < and an ID
new RadioLimitUInt(0, 16777216) } // being an unsigned integer between 0 and 16777216
}
)
}
};
Represents the limits for a ConfigItem instance.
Definition: radiolimits.hh:401
Specifies the limits for a list of ConfigObject instances.
Definition: radiolimits.hh:571
Represents the limits for all properties of a ConfigObject instance.
Definition: radiolimits.hh:434
Checks a string valued property.
Definition: radiolimits.hh:177
Represents a limit for an unsigned integer value.
Definition: radiolimits.hh:284