Branch data Line data Source code
1 : : /*************************************************************************** 2 : : qgsauthmethodmetadata.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 QGSAUTHMETHODMETADATA_H 18 : : #define QGSAUTHMETHODMETADATA_H 19 : : 20 : : #define SIP_NO_FILE 21 : : 22 : : #include <QString> 23 : : 24 : : #include "qgis_core.h" 25 : : 26 : : /** 27 : : * \ingroup core 28 : : * \brief Holds data auth method key, description, and associated shared library file information. 29 : : 30 : : The metadata class is used in a lazy load implementation in 31 : : QgsAuthMethodRegistry. To save memory, auth methods are only actually 32 : : loaded via QLibrary calls if they're to be used. (Though they're all 33 : : iteratively loaded once to get their metadata information, and then 34 : : unloaded when the QgsAuthMethodRegistry is created.) QgsProviderMetadata 35 : : supplies enough information to be able to later load the associated shared 36 : : library object. 37 : : * \note Culled from QgsProviderMetadata 38 : : * \note not available in Python bindings 39 : : */ 40 : 0 : class CORE_EXPORT QgsAuthMethodMetadata 41 : : { 42 : : public: 43 : : 44 : : /** 45 : : * Construct an authentication method metadata container 46 : : * \param _key Textual key of the library plugin 47 : : * \param _description Description of the library plugin 48 : : * \param _library File name of library plugin 49 : : */ 50 : : QgsAuthMethodMetadata( const QString &_key, const QString &_description, const QString &_library ); 51 : : 52 : : /** 53 : : * This returns the unique key associated with the method 54 : : 55 : : This key string is used for the associative container in QgsAtuhMethodRegistry 56 : : */ 57 : : QString key() const; 58 : : 59 : : /** 60 : : * This returns descriptive text for the method 61 : : 62 : : This is used to provide a descriptive list of available data methods. 63 : : */ 64 : : QString description() const; 65 : : 66 : : /** 67 : : * This returns the library file name 68 : : 69 : : This is used to QLibrary calls to load the method. 70 : : */ 71 : : QString library() const; 72 : : 73 : : private: 74 : : 75 : : /// unique key for method 76 : : QString key_; 77 : : 78 : : /// associated terse description 79 : : QString description_; 80 : : 81 : : /// file path 82 : : QString library_; 83 : : }; 84 : : 85 : : #endif // QGSAUTHMETHODMETADATA_H