31 #ifndef CREDENTIALS_DB_H
32 #define CREDENTIALS_DB_H
37 #include "SignOn/abstract-secrets-storage.h"
40 #define SSO_MAX_TOKEN_STORAGE (4*1024) // 4 kB for token store/identity/method
41 #define SSO_METADATADB_VERSION 2
42 #define SSO_SECRETSDB_VERSION 1
46 namespace SignonDaemonNS {
65 friend class ::TestDatabase;
85 virtual bool clear() = 0;
156 QSqlQuery
exec(
const QString &query);
166 QSqlQuery
exec(QSqlQuery &query);
183 return m_database.tables().count() > 0 ?
true :
false;
195 SignOn::CredentialsDBError
lastError()
const;
204 static QString
errorInfo(
const QSqlError &error);
209 QStringList
queryList(
const QString &query_str);
214 SignOn::CredentialsDBError m_lastError;
225 friend class ::TestDatabase;
234 QStringList
methods(
const quint32
id,
235 const QString &securityToken = QString());
236 quint32
insertMethod(
const QString &method,
bool *ok = 0);
237 quint32
methodId(
const QString &method);
239 QList<SignonIdentityInfo>
identities(
const QMap<QString, QString> &filter);
247 QStringList
ownerList(
const quint32 identityId);
250 const QString &token,
251 const QString &reference);
253 const QString &token,
254 const QString &reference = QString());
255 QStringList
references(
const quint32
id,
const QString &token = QString());
258 bool insertMethods(QMap<QString, QStringList>
methods);
260 bool updateRealms(quint32
id,
const QStringList &realms,
bool isNew);
261 QStringList tableUpdates2();
275 friend class ::TestDatabase;
293 SignOn::AbstractSecretsStorage *secretsStorage);
306 SignOn::CredentialsDBError
lastError()
const;
309 QStringList
methods(
const quint32
id,
310 const QString &securityToken = QString());
312 const QString &username,
const QString &password);
314 QList<SignonIdentityInfo>
credentials(
const QMap<QString, QString> &filter);
317 bool storeSecret =
true);
319 bool storeSecret =
true);
325 QStringList
ownerList(
const quint32 identityId);
328 QVariantMap
loadData(
const quint32
id,
const QString &method);
330 const QString &method,
331 const QVariantMap &data);
332 bool removeData(
const quint32
id,
const QString &method = QString());
335 const QString &token,
336 const QString &reference);
338 const QString &token,
339 const QString &reference = QString());
341 const QString &token = QString());
344 SignOn::AbstractSecretsStorage *secretsStorage;
346 SignOn::CredentialsDBError _lastError;
347 SignOn::CredentialsDBError noSecretsDB;
352 #endif // CREDENTIALSDB_H