QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Signals | Public Member Functions | Friends | 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 (const QgsProcessingRegistry &other)=delete
 Registry cannot be copied. More...
 
 QgsProcessingRegistry (QObject *parent=nullptr)
 Constructor for QgsProcessingRegistry. 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...
 
QgsProcessingAlgorithmInformation algorithmInformation (const QString &id) const
 Returns basic algorithm information for the algorithm with matching 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) const
 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 (const QString &providerId)
 Removes a provider implementation from the registry (the provider object is deleted). More...
 
bool removeProvider (QgsProcessingProvider *provider)
 Removes a provider implementation from the registry (the provider object is deleted). More...
 

Friends

class TestQgsProcessing
 

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().

Definition at line 56 of file qgsprocessingregistry.h.

Constructor & Destructor Documentation

◆ QgsProcessingRegistry() [1/2]

QgsProcessingRegistry::QgsProcessingRegistry ( QObject *  parent = nullptr)

Constructor for QgsProcessingRegistry.

Definition at line 29 of file qgsprocessingregistry.cpp.

◆ ~QgsProcessingRegistry()

QgsProcessingRegistry::~QgsProcessingRegistry ( )
override

Definition at line 85 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 255 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 260 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 101 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 199 of file qgsprocessingregistry.cpp.

◆ algorithmInformation()

QgsProcessingAlgorithmInformation QgsProcessingRegistry::algorithmInformation ( const QString &  id) const

Returns basic algorithm information for the algorithm with matching ID.

This method uses an internal cache to ensure that information is quickly returned and is suitable for calling many times.

Since
QGIS 3.32

Definition at line 183 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 172 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 245 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 286 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 291 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) const

Returns a matching provider by provider ID.

Definition at line 159 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 77 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 279 of file qgsprocessingregistry.cpp.

◆ removeProvider() [1/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 153 of file qgsprocessingregistry.cpp.

◆ removeProvider() [2/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 133 of file qgsprocessingregistry.cpp.

Friends And Related Function Documentation

◆ TestQgsProcessing

friend class TestQgsProcessing
friend

Definition at line 251 of file qgsprocessingregistry.h.


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