QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsauthmethodregistry.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsauthmethodregistry.h
3 ---------------------
4 begin : September 1, 2015
5 copyright : (C) 2015 by Boundless Spatial, Inc. USA
6 author : Larry Shaffer
7 email : lshaffer at boundlessgeo dot com
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
17#ifndef QGSAUTHMETHODREGISTRY_H
18#define QGSAUTHMETHODREGISTRY_H
19
20#define SIP_NO_FILE
21
22#include <memory>
23
24#include "qgis_core.h"
25#include "qgis_sip.h"
26
27#include <QDir>
28#include <QLibrary>
29#include <QMap>
30#include <QString>
31
32class QgsAuthMethod;
34
35
48class CORE_EXPORT QgsAuthMethodRegistry
49{
50
51 public:
53 static QgsAuthMethodRegistry *instance( const QString &pluginPath = QString() );
54
55 virtual ~QgsAuthMethodRegistry();
56
61 Q_DECL_DEPRECATED QString library( const QString &authMethodKey ) const SIP_DEPRECATED;
62
64 QString pluginList( bool asHtml = false ) const;
65
67 QDir libraryDirectory() const;
68
70 void setLibraryDirectory( const QDir &path );
71
77 QgsAuthMethod *createAuthMethod( const QString &authMethodKey );
78
79#if 0
80
85 // int authMethodCapabilities( const QString& authMethodKey ) const;
86#endif
87
93 QWidget *editWidget( const QString &authMethodKey, QWidget *parent = nullptr );
94
96 QStringList authMethodList() const;
97
99 const QgsAuthMethodMetadata *authMethodMetadata( const QString &authMethodKey ) const;
100
102 typedef std::map<QString, QgsAuthMethodMetadata *> AuthMethods;
103
104 private:
105
107 QgsAuthMethodRegistry( const QString &pluginPath );
108
109 void init();
110 void clean();
111
113 AuthMethods mAuthMethods;
114
116 QDir mLibraryDirectory;
117};
118
119#endif // QGSAUTHMETHODREGISTRY_H
Holds data auth method key, description, and associated shared library file information.
const QgsAuthMethodMetadata * authMethodMetadata(const QString &authMethodKey) const
Returns metadata of the auth method or nullptr if not found.
static QgsAuthMethodRegistry * instance(const QString &pluginPath=QString())
Means of accessing canonical single instance.
QWidget * editWidget(const QString &authMethodKey, QWidget *parent=nullptr)
Returns the GUI edit widget associated with the auth method.
QString pluginList(bool asHtml=false) const
Returns list of auth method plugins found.
void setLibraryDirectory(const QDir &path)
Sets library directory where to search for plugins.
QDir libraryDirectory() const
Returns library directory where plugins are found.
Q_DECL_DEPRECATED QString library(const QString &authMethodKey) const
Returns path for the library of the auth method.
QStringList authMethodList() const
Returns list of available auth methods by their keys.
std::map< QString, QgsAuthMethodMetadata * > AuthMethods
Type for auth method metadata associative container.
QgsAuthMethod * createAuthMethod(const QString &authMethodKey)
Create an instance of the auth method.
Abstract base class for authentication method plugins.
#define SIP_DEPRECATED
Definition qgis_sip.h:114