/** * \class QgsProcessingRegistry * \ingroup core * 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(). * \note added in QGIS 3.0 */ class QgsProcessingRegistry : QObject { %TypeHeaderCode #include %End public: /** * Constructor for QgsProcessingRegistry. */ QgsProcessingRegistry( QObject* parent /TransferThis/ = nullptr ); ~QgsProcessingRegistry(); /** * Get list of available providers. */ QList providers() const; /** * Add a processing provider to the registry. Ownership of the provider is transferred 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). * @see removeProvider() */ bool addProvider( QgsProcessingProvider* provider /Transfer/ ); /** * 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 addProvider() */ bool 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 addProvider() */ bool removeProvider( const QString& providerId ); /** * Returns a matching provider by provider ID. */ QgsProcessingProvider* providerById( const QString& id ); signals: //! Emitted when a provider has been added to the registry. void providerAdded( const QString& id ); //! Emitted when a provider is removed from the registry void providerRemoved( const QString& id ); private: //! Registry cannot be copied QgsProcessingRegistry( const QgsProcessingRegistry& other ); //! Registry cannot be copied //QgsProcessingRegistry& operator=( const QgsProcessingRegistry& other ); };