libdrmconf  0.12.0
A library to program DMR radios.
Public Types | Public Member Functions | Protected Attributes | Properties | List of all members
DMRContact Class Reference

Represents a digital contact, that is a DMR number. More...

#include <contact.hh>

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

Public Types

enum  Type { PrivateCall , GroupCall , AllCall }
 Possible call types for a contact. More...
 

Public Member Functions

Q_INVOKABLE DMRContact (QObject *parent=nullptr)
 Default constructor.
 
 DMRContact (Type type, const QString &name, unsigned number, bool ring=false, QObject *parent=nullptr)
 Constructs a DMR (digital) contact. More...
 
ConfigItemclone () const
 Clones this item.
 
void clear ()
 Clears the config object.
 
Type type () const
 Returns the call-type.
 
void setType (Type type)
 (Re-)Sets the call-type.
 
unsigned number () const
 Returns the DMR number.
 
bool setNumber (unsigned number)
 (Re-)Sets the DMR number of the contact.
 
OpenGD77ContactExtensionopenGD77ContactExtension () const
 Returns the OpenGD77 extension, or nullptr if not set.
 
void setOpenGD77ContactExtension (OpenGD77ContactExtension *ext)
 Sets the OpenGD77 extension.
 
AnytoneContactExtensionanytoneExtension () const
 Returns the AnyTone extension, or nullptr if not set.
 
void setAnytoneExtension (AnytoneContactExtension *ext)
 Sets the AnyTone extension.
 
YAML::Node serialize (const Context &context, const ErrorStack &err=ErrorStack())
 Recursively serializes the configuration to YAML nodes. More...
 
- Public Member Functions inherited from Contact
bool ring () const
 Returns true if the ring-tone is enabled for this contact.
 
void setRing (bool enable)
 Enables/disables the ring-tone for this contact.
 
template<class T >
bool is () const
 Typecheck contact. More...
 
template<class T >
T * as ()
 Typecast contact.
 
template<class T >
const T * as () const
 Typecast contact.
 
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 int compare (const ConfigItem &other) const
 Compares the items. 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 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 Attributes

Type _type
 The call type.
 
unsigned _number
 The DMR number of the contact.
 
AnytoneContactExtension_anytone
 Owns the AnytoneContactextension to the digital contacts.
 
OpenGD77ContactExtension_openGD77
 Owns the OpenGD77 extensions to the digital contacts.
 
- Protected Attributes inherited from Contact
bool _ring
 Ringtone enabled?
 
- Protected Attributes inherited from ConfigObject
QString _name
 Holds the name of the object.
 

Properties

Type type
 The type of the contact.
 
unsigned number
 The number of the contact.
 
AnytoneContactExtensionanytone
 The AnyTone extension to the digital contact.
 
OpenGD77ContactExtensionopenGD77
 The OpenGD77 extension to the digital contact.
 
- Properties inherited from Contact
bool ring
 If true and supported by radio, ring on call from this contact.
 
- 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.
 
- Protected Member Functions inherited from DigitalContact
 DigitalContact (QObject *parent=nullptr)
 Hidden constructor.
 
 DigitalContact (const QString &name, bool ring, QObject *parent=nullptr)
 Hidden constructor.
 
- Protected Member Functions inherited from Contact
 Contact (QObject *parent=nullptr)
 Default constructor.
 
 Contact (const QString &name, bool ring=true, QObject *parent=nullptr)
 Hidden constructor. 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...
 
virtual bool populate (YAML::Node &node, const Context &context, const ErrorStack &err=ErrorStack())
 Recursively serializes the configuration to YAML nodes. More...
 
- Protected Member Functions inherited from ConfigItem
 ConfigItem (QObject *parent=nullptr)
 Hidden constructor. More...
 
- 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 digital contact, that is a DMR number.

Member Enumeration Documentation

◆ Type

Possible call types for a contact.

Enumerator
PrivateCall 

A private call.

GroupCall 

A group call.

AllCall 

An all-call.

Constructor & Destructor Documentation

◆ DMRContact()

DMRContact::DMRContact ( Type  type,
const QString &  name,
unsigned  number,
bool  ring = false,
QObject *  parent = nullptr 
)

Constructs a DMR (digital) contact.

Parameters
typeSpecifies the call type (private, group, all-call).
nameSpecifies the contact name.
numberSpecifies the DMR number for this contact.
ringSpecifies whether the ring-tone is enabled for this contact.
parentSpecifies the QObject parent.

Member Function Documentation

◆ serialize()

YAML::Node DMRContact::serialize ( const Context context,
const ErrorStack err = ErrorStack() 
)
virtual

Recursively serializes the configuration to YAML nodes.

The complete configuration must be labeled first.

Reimplemented from ConfigItem.


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