libdrmconf
0.12.0
A library to program DMR radios.
|
This visitor traverses the the given configuration and clones it. More...
#include <configcopyvisitor.hh>
Public Member Functions | |
ConfigCloneVisitor (QHash< ConfigObject *, ConfigObject * > &map) | |
Constructor. More... | |
bool | processProperty (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err=ErrorStack()) |
Processes the specified property of the item. More... | |
bool | processItem (ConfigItem *item, const ErrorStack &err=ErrorStack()) |
Traverses the specified config item. More... | |
bool | processList (AbstractConfigObjectList *list, const ErrorStack &err=ErrorStack()) |
Traverses the list of objects or references. More... | |
ConfigItem * | takeResult (const ErrorStack &err=ErrorStack()) |
Extracts the cloned item. | |
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 | 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 | |
QList< QObject * > | _stack |
Stack of the current object. | |
QHash< ConfigObject *, ConfigObject * > & | _map |
Reference to the translation table origial -> cloned object. | |
Additional Inherited Members | |
Protected Member Functions inherited from Visitor | |
Visitor () | |
Hidden constructor. | |
This visitor traverses the the given configuration and clones it.
All references are still pointing to the originals.
ConfigCloneVisitor::ConfigCloneVisitor | ( | QHash< ConfigObject *, ConfigObject * > & | map | ) |
Constructor.
map | Specifies the mapping table to be filled with the created clones. |
|
virtual |
Traverses the specified config item.
This method calls processProperty
on all properties of the item.
Reimplemented from Visitor.
|
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.
|
virtual |
Processes the specified property of the item.
This method dispatches to the type-specific methods like processEnum
, processBool
, processInt
, processUInt
, processDouble
, processString
, processItem
, processReference
, processList
, and processUnknownType
, depending on the type of the property. Do not override this method unless you need to handle all properties differently.
Reimplemented from Visitor.