QGIS API Documentation  3.11.0-Master (68611307d7)
Signals | Public Member Functions | List of all members
QgsProcessingRegistry Class Reference

Registry for various processing components, including providers, algorithms and various parameters and outputs. More...

#include <qgsprocessingregistry.h>

Inheritance diagram for QgsProcessingRegistry:
Inheritance graph
[legend]

Signals

void parameterTypeAdded (QgsProcessingParameterType *type)
 Emitted when a new parameter type has been added to the registry. More...
 
void parameterTypeRemoved (QgsProcessingParameterType *type)
 Emitted when a parameter type has been removed from the registry and is about to be deleted. More...
 
void providerAdded (const QString &id)
 Emitted when a provider has been added to the registry. More...
 
void providerRemoved (const QString &id)
 Emitted when a provider is removed from the registry. More...
 

Public Member Functions

 QgsProcessingRegistry (QObject *parent=nullptr)
 Constructor for QgsProcessingRegistry. More...
 
 QgsProcessingRegistry (const QgsProcessingRegistry &other)=delete
 Registry cannot be copied. More...
 
 ~QgsProcessingRegistry () override
 
void addAlgorithmAlias (const QString &aliasId, const QString &actualId)
 Adds a new alias to an existing algorithm. More...
 
bool addParameterType (QgsProcessingParameterType *type)
 Register a new parameter type for processing. More...
 
bool addProvider (QgsProcessingProvider *provider)
 Add a processing provider to the registry. More...
 
const QgsProcessingAlgorithmalgorithmById (const QString &id) const
 Finds an algorithm by its ID. More...
 
QList< const QgsProcessingAlgorithm * > algorithms () const
 Returns a list of all available algorithms from registered providers. More...
 
QgsProcessingAlgorithmcreateAlgorithmById (const QString &id, const QVariantMap &configuration=QVariantMap()) const
 Creates a new instance of an algorithm by its ID. More...
 
QgsProcessingRegistryoperator= (const QgsProcessingRegistry &other)=delete
 Registry cannot be copied. More...
 
QgsProcessingParameterTypeparameterType (const QString &id) const
 Returns the parameter type registered for id. More...
 
QList< QgsProcessingParameterType * > parameterTypes () const
 Returns a list with all known parameter types. More...
 
QgsProcessingProviderproviderById (const QString &id)
 Returns a matching provider by provider ID. More...
 
QList< QgsProcessingProvider * > providers () const
 Gets list of available providers. More...
 
void removeParameterType (QgsProcessingParameterType *type)
 Unregister a custom parameter type from processing. More...
 
bool removeProvider (QgsProcessingProvider *provider)
 Removes a provider implementation from the registry (the provider object is deleted). More...
 
bool removeProvider (const QString &providerId)
 Removes a provider implementation from the registry (the provider object is deleted). More...
 

Detailed Description

Registry for various processing components, including providers, algorithms and various parameters and outputs.

QgsProcessingRegistry is not usually directly created, but rather accessed through QgsApplication::processingRegistry().

Since
QGIS 3.0

Definition at line 39 of file qgsprocessingregistry.h.

Constructor & Destructor Documentation

◆ QgsProcessingRegistry() [1/2]

QgsProcessingRegistry::QgsProcessingRegistry ( QObject *  parent = nullptr)

Constructor for QgsProcessingRegistry.

Definition at line 22 of file qgsprocessingregistry.cpp.

◆ ~QgsProcessingRegistry()

QgsProcessingRegistry::~QgsProcessingRegistry ( )
override

Definition at line 61 of file qgsprocessingregistry.cpp.

◆ QgsProcessingRegistry() [2/2]

QgsProcessingRegistry::QgsProcessingRegistry ( const QgsProcessingRegistry other)
delete

Registry cannot be copied.

Member Function Documentation

◆ addAlgorithmAlias()

void QgsProcessingRegistry::addAlgorithmAlias ( const QString &  aliasId,
const QString &  actualId 
)

Adds a new alias to an existing algorithm.

This allows algorithms to be referred to by a different provider ID and algorithm name to their actual underlying provider and algorithm name. It provides a mechanism to allow algorithms to be moved between providers without breaking existing scripts or plugins.

The aliasId argument specifies the "fake" algorithm id (eg "fake_provider:fake_alg") by which the algorithm can be referred to, and the actualId argument specifies the real algorithm ID for the algorithm.

Since
QGIS 3.10

Definition at line 176 of file qgsprocessingregistry.cpp.

◆ addParameterType()

bool QgsProcessingRegistry::addParameterType ( QgsProcessingParameterType type)

Register a new parameter type for processing.

Ownership is transferred to the registry. Will emit parameterTypeAdded.

See also
removeParameterType
Since
QGIS 3.2

Definition at line 181 of file qgsprocessingregistry.cpp.

◆ addProvider()

bool QgsProcessingRegistry::addProvider ( QgsProcessingProvider provider)

Add a processing provider to the registry.

Ownership of the provider is transferred to the registry, and the provider's parent will be set to the registry. Returns false if the provider could not be added (eg if a provider with a duplicate ID already exists in the registry). Adding a provider to the registry automatically triggers the providers QgsProcessingProvider::load() method to populate the provider with algorithms.

See also
removeProvider()

Definition at line 77 of file qgsprocessingregistry.cpp.

◆ algorithmById()

const QgsProcessingAlgorithm * QgsProcessingRegistry::algorithmById ( const QString &  id) const

Finds an algorithm by its ID.

If no matching algorithm is found, nullptr is returned.

See also
algorithms()
createAlgorithmById()

Definition at line 141 of file qgsprocessingregistry.cpp.

◆ algorithms()

QList< const QgsProcessingAlgorithm *> QgsProcessingRegistry::algorithms ( ) const

Returns a list of all available algorithms from registered providers.

See also
algorithmById()

Definition at line 130 of file qgsprocessingregistry.cpp.

◆ createAlgorithmById()

QgsProcessingAlgorithm * QgsProcessingRegistry::createAlgorithmById ( const QString &  id,
const QVariantMap &  configuration = QVariantMap() 
) const

Creates a new instance of an algorithm by its ID.

If no matching algorithm is found, nullptr is returned. Callers take responsibility for deleting the returned object.

The configuration argument allows passing of a map of configuration settings to the algorithm, allowing it to dynamically adjust its initialized parameters and outputs according to this configuration. This is generally used only for algorithms in a model, allowing them to adjust their behavior at run time according to some user configuration.

See also
algorithms()
algorithmById()

Definition at line 166 of file qgsprocessingregistry.cpp.

◆ operator=()

QgsProcessingRegistry& QgsProcessingRegistry::operator= ( const QgsProcessingRegistry other)
delete

Registry cannot be copied.

◆ parameterType()

QgsProcessingParameterType * QgsProcessingRegistry::parameterType ( const QString &  id) const

Returns the parameter type registered for id.

Since
QGIS 3.2

Definition at line 207 of file qgsprocessingregistry.cpp.

◆ parameterTypeAdded

void QgsProcessingRegistry::parameterTypeAdded ( QgsProcessingParameterType type)
signal

Emitted when a new parameter type has been added to the registry.

Since
QGIS 3.2

◆ parameterTypeRemoved

void QgsProcessingRegistry::parameterTypeRemoved ( QgsProcessingParameterType type)
signal

Emitted when a parameter type has been removed from the registry and is about to be deleted.

Since
QGIS 3.2

◆ parameterTypes()

QList< QgsProcessingParameterType * > QgsProcessingRegistry::parameterTypes ( ) const

Returns a list with all known parameter types.

Since
QGIS 3.2

Definition at line 212 of file qgsprocessingregistry.cpp.

◆ providerAdded

void QgsProcessingRegistry::providerAdded ( const QString &  id)
signal

Emitted when a provider has been added to the registry.

◆ providerById()

QgsProcessingProvider * QgsProcessingRegistry::providerById ( const QString &  id)

Returns a matching provider by provider ID.

Definition at line 125 of file qgsprocessingregistry.cpp.

◆ providerRemoved

void QgsProcessingRegistry::providerRemoved ( const QString &  id)
signal

Emitted when a provider is removed from the registry.

◆ providers()

QList<QgsProcessingProvider *> QgsProcessingRegistry::providers ( ) const
inline

Gets list of available providers.

Definition at line 60 of file qgsprocessingregistry.h.

◆ removeParameterType()

void QgsProcessingRegistry::removeParameterType ( QgsProcessingParameterType type)

Unregister a custom parameter type from processing.

The type will be deleted. Will emit parameterTypeRemoved.

See also
addParameterType
Since
QGIS 3.2

Definition at line 200 of file qgsprocessingregistry.cpp.

◆ removeProvider() [1/2]

bool QgsProcessingRegistry::removeProvider ( QgsProcessingProvider provider)

Removes a provider implementation from the registry (the provider object is deleted).

Returns false if the provider could not be removed (eg provider does not exist in the registry).

See also
addProvider()

Definition at line 102 of file qgsprocessingregistry.cpp.

◆ removeProvider() [2/2]

bool QgsProcessingRegistry::removeProvider ( const QString &  providerId)

Removes a provider implementation from the registry (the provider object is deleted).

Returns false if the provider could not be removed (eg provider does not exist in the registry).

See also
addProvider()

Definition at line 119 of file qgsprocessingregistry.cpp.


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