19 #include <QTextStream>
27 QgsDebugMsg(
"already registered an instance of QgsCredentials" );
54 username = credentials.first;
55 password = credentials.second;
56 QgsDebugMsg( QString(
"retrieved realm:%1 username:%2 password:%3" ).arg( realm ).arg( username ).arg( password ) );
58 if ( !password.isNull() )
62 if (
request( realm, username, password, message ) )
64 QgsDebugMsg( QString(
"requested realm:%1 username:%2 password:%3" ).arg( realm ).arg( username ).arg( password ) );
69 QgsDebugMsg( QString(
"unset realm:%1" ).arg( realm ) );
76 QgsDebugMsg( QString(
"inserting realm:%1 username:%2 password:%3" ).arg( realm ).arg( username ).arg( password ) );
77 mCredentialCache.insert( realm, QPair<QString, QString>( username, password ) );
101 QTextStream in( stdin, QIODevice::ReadOnly );
102 QTextStream out( stdout, QIODevice::WriteOnly );
104 out <<
"credentials for " << realm << endl;
105 if ( !message.isEmpty() )
106 out <<
"message: " << message << endl;
virtual bool request(QString realm, QString &username, QString &password, QString message=QString::null)
request a password
Interface for requesting credentials in QGIS in GUI independent way.
static QgsCredentials * instance()
retrieves instance
bool get(QString realm, QString &username, QString &password, QString message=QString::null)
void lock()
Lock the instance against access from multiple threads.
static QgsCredentials * smInstance
Pointer to the credential instance.
virtual bool request(QString realm, QString &username, QString &password, QString message=QString::null)=0
request a password
QMap< QString, QPair< QString, QString > > mCredentialCache
cache for already requested credentials in this session
void put(QString realm, QString username, QString password)
Default implementation of credentials interface.
virtual ~QgsCredentials()
virtual destructor
void unlock()
Unlock the instance after being locked.
void setInstance(QgsCredentials *theInstance)
register instance