QGIS API Documentation  3.6.0-Noosa (5873452)
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 
30 class QgsAuthMethod;
32 
33 
46 class CORE_EXPORT QgsAuthMethodRegistry
47 {
48 
49  public:
51  static QgsAuthMethodRegistry *instance( const QString &pluginPath = QString() );
52 
54  virtual ~QgsAuthMethodRegistry();
55 
57  QString library( const QString &authMethodKey ) const;
58 
60  QString pluginList( bool asHtml = false ) const;
61 
63  QDir libraryDirectory() const;
64 
66  void setLibraryDirectory( const QDir &path );
67 
73  std::unique_ptr< QgsAuthMethod > authMethod( const QString &authMethodKey );
74 
79  // int authMethodCapabilities( const QString& authMethodKey ) const;
80 
86  QWidget *editWidget( const QString &authMethodKey, QWidget *parent = nullptr );
87 
94  QFunctionPointer function( const QString &authMethodKey,
95  const QString &functionName );
96 
98  std::unique_ptr< QLibrary > authMethodLibrary( const QString &authMethodKey ) const;
99 
101  QStringList authMethodList() const;
102 
104  const QgsAuthMethodMetadata *authMethodMetadata( const QString &authMethodKey ) const;
105 
106 // void registerGuis( QWidget *widget );
107 
109  typedef std::map<QString, QgsAuthMethodMetadata *> AuthMethods;
110 
111  private:
113  QgsAuthMethodRegistry( const QString &pluginPath );
114 
116  AuthMethods mAuthMethods;
117 
119  QDir mLibraryDirectory;
120 };
121 
122 #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.
Abstract base class for authentication method plugins.
Definition: qgsauthmethod.h:36