QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgslayermetadataproviderregistry.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayermetadataproviderregistry.h - QgsLayerMetadataProviderRegistry
3
4 ---------------------
5 begin : 17.8.2022
6 copyright : (C) 2022 by Alessandro Pasotti
7 email : elpaso at itopen dot it
8 ***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
16#ifndef QGSLAYERMETADATAPROVIDERREGISTRY_H
17#define QGSLAYERMETADATAPROVIDERREGISTRY_H
18
19#include "qgis.h"
20#include "qgis_core.h"
22#include "qgslayermetadata.h"
23
24#include <QObject>
25
26class QgsFeedback;
27
28#ifdef SIP_RUN
29% ModuleHeaderCode
31% End
32#endif
33
43class CORE_EXPORT QgsLayerMetadataProviderRegistry : public QObject
44{
45
46 Q_OBJECT
47 public:
48
50 explicit QgsLayerMetadataProviderRegistry( QObject *parent = nullptr );
51
54
57
59 QList<QgsAbstractLayerMetadataProvider *> layerMetadataProviders() const;
60
63
68 const QgsLayerMetadataSearchResults search( const QgsMetadataSearchContext &searchContext, const QString &searchString = QString(), const QgsRectangle &geographicExtent = QgsRectangle(), QgsFeedback *feedback = nullptr );
69
70 private:
71
72 QHash<QString, QgsAbstractLayerMetadataProvider *> mMetadataProviders;
73
74};
75
76#endif // QGSLAYERMETADATAPROVIDERREGISTRY_H
Layer metadata provider backend interface.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Definition qgsfeedback.h:44
QgsLayerMetadataProviderRegistry(QObject *parent=nullptr)
Creates the layer metadata provider registry, with an optional parent.
QList< QgsAbstractLayerMetadataProvider * > layerMetadataProviders() const
Returns the list of all registered layer metadata providers.
const QgsLayerMetadataSearchResults search(const QgsMetadataSearchContext &searchContext, const QString &searchString=QString(), const QgsRectangle &geographicExtent=QgsRectangle(), QgsFeedback *feedback=nullptr)
Search for layers in all the registered layer metadata providers, optionally filtering by searchStrin...
void unregisterLayerMetadataProvider(QgsAbstractLayerMetadataProvider *metadataProvider)
Unregisters a layer metadata provider metadataProvider and destroys its instance.
void registerLayerMetadataProvider(QgsAbstractLayerMetadataProvider *metadataProvider)
Registers a layer metadata provider metadataProvider and takes ownership of it.
QgsAbstractLayerMetadataProvider * layerMetadataProviderFromId(const QString &id)
Returns metadata provider implementation if the id matches one. Returns nullptr otherwise.
Container of result records from a layer metadata search.
A rectangle specified with double values.
#define SIP_TRANSFER
Definition qgis_sip.h:36