QGIS/python/core/qgscredentials.sip

80 lines
2.2 KiB
Plaintext
Raw Normal View History

2012-09-17 12:41:29 +02:00
class QgsCredentials
{
%TypeHeaderCode
#include <qgscredentials.h>
%End
2012-09-17 12:41:29 +02:00
public:
//! virtual destructor
virtual ~QgsCredentials();
bool get( QString realm, QString &username /In,Out/, QString &password /In,Out/, QString message = QString::null );
2012-09-17 12:41:29 +02:00
void put( QString realm, QString username, QString password );
bool getMasterPassword( QString &password /In,Out/, bool stored = false );
2012-09-17 12:41:29 +02:00
//! retrieves instance
static QgsCredentials *instance();
/**
* Lock the instance against access from multiple threads. This does not really lock access to get/put methds,
* it will just prevent other threads to lock the instance and continue the execution. When the class is used
* from non-GUI threads, they should call lock() before the get/put calls to avoid race conditions.
* @note added in 2.4
*/
void lock();
2014-06-22 17:54:40 +02:00
/**
* Unlock the instance after being locked.
* @note added in 2.4
*/
void unlock();
2014-06-22 17:54:40 +02:00
/**
* Return pointer to mutex
* @note added in 2.4
*/
QMutex *mutex();
2012-09-17 12:41:29 +02:00
protected:
QgsCredentials();
2012-09-17 12:41:29 +02:00
//! request a password
virtual bool request( QString realm, QString &username /In,Out/, QString &password /In,Out/, QString message = QString::null ) = 0;
2012-09-17 12:41:29 +02:00
//! request a master password
virtual bool requestMasterPassword( QString &password /In,Out/, bool stored = false ) = 0;
2012-09-17 12:41:29 +02:00
//! register instance
void setInstance( QgsCredentials *theInstance );
private:
QgsCredentials( const QgsCredentials& );
2012-09-17 12:41:29 +02:00
};
2014-01-27 09:22:24 +01:00
/**
\brief Default implementation of credentials interface
This class outputs message to the standard output and retrieves input from
standard input. Therefore it won't be the right choice for apps without
GUI.
*/
2012-09-17 12:41:29 +02:00
class QgsCredentialsConsole : QObject, QgsCredentials
{
%TypeHeaderCode
#include <qgscredentials.h>
%End
public:
QgsCredentialsConsole();
signals:
//! signals that object will be destroyed and shouldn't be used anymore
void destroyed();
protected:
virtual bool request( QString realm, QString &username /In,Out/, QString &password /In,Out/, QString message = QString::null );
virtual bool requestMasterPassword( QString &password /In,Out/, bool stored = false );
2012-09-17 12:41:29 +02:00
};