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

Simple visitor that merges zones. More...

#include <intermediaterepresentation.hh>

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

Public Member Functions

 ZoneMergeVisitor ()
 Constructor.
 
bool processList (AbstractConfigObjectList *list, const ErrorStack &err)
 Traverses the list of objects or references. More...
 
bool processItem (ConfigItem *item, const ErrorStack &err)
 Traverses the specified config item. More...
 
- Public Member Functions inherited from Visitor
virtual ~Visitor ()
 Destructor.
 
virtual bool process (Config *config, const ErrorStack &err=ErrorStack())
 Traverses the properties of the configuration recursively. More...
 
virtual bool processProperty (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Processes the specified property of the item. More...
 
virtual bool processEnum (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles an enum typed property. More...
 
virtual bool processBool (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles a boolean typed property. More...
 
virtual bool processInt (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles an integer typed property. More...
 
virtual bool processUInt (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles an unsigned integer typed property. More...
 
virtual bool processDouble (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles a double precision float typed property. More...
 
virtual bool processString (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles a string typed property. More...
 
virtual bool processFrequency (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles a Frequency typed property. More...
 
virtual bool processInterval (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles a Interval typed property. More...
 
virtual bool processUnknownType (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack())
 Handles a property of unknown type. More...
 
virtual bool processReference (ConfigObjectReference *, const ErrorStack &err=ErrorStack())
 Handles references to config objects. More...
 

Protected Attributes

Zone_lastZone
 The last zone visited, nullptr if the first zone is processed.
 
QList< Zone * > _mergedZones
 Zones to be removed.
 

Additional Inherited Members

- Protected Member Functions inherited from Visitor
 Visitor ()
 Hidden constructor.
 

Detailed Description

Simple visitor that merges zones.

This is the reverse step of the ZoneSplitVisitor. Two subsequent zones are only merged into one, if both zones have empty B lists, the name of the first zone ends on "... A" and the name of the second ends on "... B". That is, if the two zones where likely split by qdmr.

Member Function Documentation

◆ processItem()

bool ZoneMergeVisitor::processItem ( ConfigItem item,
const ErrorStack err 
)
virtual

Traverses the specified config item.

This method calls processProperty on all properties of the item.

Reimplemented from Visitor.

◆ processList()

bool ZoneMergeVisitor::processList ( AbstractConfigObjectList list,
const ErrorStack err 
)
virtual

Traverses the list of objects or references.

If list is a list of ConfigItem, the visitor will traverse those by calling processItem on every of these element. If it is a list of ConfigObjectRef references, the visitor stop here and simply return true. By default, the visitor does not follow references.

Reimplemented from Visitor.


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