QGIS API Documentation  3.27.0-Master (0e23467727)
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 <QDir>
23 #include <QLibrary>
24 #include <QMap>
25 #include <QString>
26 #include <memory>
27 
28 #include "qgis_core.h"
29 #include "qgis_sip.h"
30 
31 class QgsAuthMethod;
33 
34 
47 class CORE_EXPORT QgsAuthMethodRegistry
48 {
49 
50  public:
52  static QgsAuthMethodRegistry *instance( const QString &pluginPath = QString() );
53 
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.
A registry / canonical manager of authentication methods.
std::map< QString, QgsAuthMethodMetadata * > AuthMethods
Type for auth method metadata associative container.
QWidget * editWidget(const QString &authMethodKey, QWidget *parent=nullptr)
Returns the GUI edit widget associated with the auth method.
Abstract base class for authentication method plugins.
Definition: qgsauthmethod.h:43
#define SIP_DEPRECATED
Definition: qgis_sip.h:106