18#ifndef QGSPROCESSINGPROVIDER_H
19#define QGSPROCESSINGPROVIDER_H
123 virtual
bool canBeActivated()
const {
return true; }
148 virtual QStringList supportedOutputRasterLayerExtensions()
const;
159 virtual QStringList supportedOutputVectorLayerExtensions()
const;
172 virtual QStringList supportedOutputPointCloudLayerExtensions()
const;
187 virtual QStringList supportedOutputVectorTileLayerExtensions()
const;
203 virtual QStringList supportedOutputTableExtensions()
const;
230 virtual QString defaultVectorFileExtension(
bool hasGeometry =
true )
const;
245 virtual QString defaultRasterFileExtension()
const;
262 virtual QString defaultPointCloudFileExtension()
const;
278 virtual QString defaultVectorTileFileExtension()
const;
293 virtual bool supportsNonFileBasedOutput()
const;
304 virtual bool load() { refreshAlgorithms();
return true; }
315 void refreshAlgorithms();
321 QList< const QgsProcessingAlgorithm * > algorithms()
const;
354 QMap< QString, const QgsProcessingAlgorithm * > mAlgorithms;
The Qgis class provides global constants for use throughout the application.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Base class for all parameter definitions which represent file or layer destinations,...
Abstract base class for processing providers.
QgsProcessingProvider(const QgsProcessingProvider &other)=delete
Providers cannot be copied.
virtual bool isActive() const
Returns true if the provider is active and able to run algorithms.
void algorithmsLoaded()
Emitted when the provider has loaded (or refreshed) its list of available algorithms.
virtual void unload()
Unloads the provider.
virtual bool load()
Loads the provider.
virtual void loadAlgorithms()=0
Loads all algorithms belonging to this provider.
virtual QString warningMessage() const
Returns an optional warning message to show users when running algorithms from this provider.
QgsProcessingProvider & operator=(const QgsProcessingProvider &other)=delete
Providers cannot be copied.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call