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

Fitlers instance by meta object. More...

#include <intermediaterepresentation.hh>

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

Public Member Functions

 ObjectFilterVisitor (const std::initializer_list< QMetaObject > &types)
 Constructor from initializer list of Qt meta objects.
 
bool processProperty (ConfigItem *item, const QMetaProperty &prop, const ErrorStack &err)
 Processes the specified property of the item. More...
 
bool processList (AbstractConfigObjectList *list, const ErrorStack &err)
 Traverses the list of objects or references. 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 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 processItem (ConfigItem *item, const ErrorStack &err=ErrorStack())
 Traverses the specified config item. More...
 
virtual bool processReference (ConfigObjectReference *, const ErrorStack &err=ErrorStack())
 Handles references to config objects. More...
 

Protected Attributes

QList< QMetaObject > _filter
 The list of filtered types.
 

Additional Inherited Members

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

Detailed Description

Fitlers instance by meta object.

This visitor can be used to remove elements from the abstract codeplug, not supported by the target device.

Member Function Documentation

◆ processList()

bool ObjectFilterVisitor::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.

◆ processProperty()

bool ObjectFilterVisitor::processProperty ( ConfigItem item,
const QMetaProperty &  prop,
const ErrorStack err 
)
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.


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