25 #ifndef CREDENTIALS_DB_P_H 26 #define CREDENTIALS_DB_P_H 31 #include "SignOn/abstract-secrets-storage.h" 34 #define SSO_METADATADB_VERSION 2 35 #define SSO_SECRETSDB_VERSION 1 47 friend class ::TestDatabase;
57 QHash<quint32,QVariantMap> m_blobData;
65 QString &password)
const;
66 QVariantMap
lookupData(quint32
id, quint32 method)
const;
69 const QString &username,
70 const QString &password,
72 void updateData(quint32
id, quint32 method,
const QVariantMap &data);
74 void storeToDB(SignOn::AbstractSecretsStorage *secretsStorage)
const;
78 QHash<quint32, AuthCache> m_cache;
88 friend class ::TestDatabase;
94 SqlDatabase(
const QString &hostname,
const QString &connectionName,
107 virtual bool createTables() = 0;
108 virtual bool clear() = 0;
109 virtual bool updateDB(
int version);
121 bool startTransaction();
135 m_database.setDatabaseName(databaseName);
143 m_database.setUserName(username);
151 m_database.setPassword(password);
162 QString
username()
const {
return m_database.userName(); }
167 QString
password()
const {
return m_database.password(); }
169 QSqlQuery
newQuery()
const {
return QSqlQuery(m_database); }
179 QSqlQuery exec(
const QString &query);
189 QSqlQuery exec(QSqlQuery &query);
200 bool transactionalExec(
const QStringList &queryList);
206 return m_database.tables().count() > 0 ?
true :
false;
218 SignOn::CredentialsDBError lastError()
const;
227 static QString errorInfo(
const QSqlError &error);
232 QStringList queryList(
const QString &query_str);
233 QStringList queryList(QSqlQuery &query);
234 void setLastError(
const QSqlError &sqlError);
237 SignOn::CredentialsDBError m_lastError;
248 friend class ::TestDatabase;
255 bool updateDB(
int version);
257 QStringList methods(
const quint32
id,
258 const QString &securityToken = QString());
259 quint32 insertMethod(
const QString &method,
bool *ok = 0);
260 quint32 methodId(
const QString &method);
265 bool removeIdentity(
const quint32
id);
269 QStringList accessControlList(
const quint32 identityId);
270 QStringList ownerList(
const quint32 identityId);
272 bool addReference(
const quint32
id,
273 const QString &token,
274 const QString &reference);
275 bool removeReference(
const quint32
id,
276 const QString &token,
277 const QString &reference = QString());
278 QStringList references(
const quint32
id,
const QString &token = QString());
283 bool updateRealms(quint32
id,
const QStringList &realms,
bool isNew);
284 QStringList tableUpdates2();
289 #endif // CREDENTIALSDB_P_H
static QStringList supportedDrivers()
bool lookupCredentials(quint32 id, QString &username, QString &password) const
#define SSO_METADATADB_VERSION
Caches credentials or BLOB authentication data.
void storeToDB(SignOn::AbstractSecretsStorage *secretsStorage) const
void setDatabaseName(const QString &databaseName)
Sets the database name.
void setPassword(const QString &password)
Sets the password for the database connection.
bool errorOccurred() const
QString databaseName() const
QVariantMap lookupData(quint32 id, quint32 method) const
Daemon side representation of identity information.
Manages the credentials I/O.
QSqlQuery newQuery() const
void updateCredentials(quint32 id, const QString &username, const QString &password, bool storePassword)
QString connectionName() const
void setUsername(const QString &username)
Sets the username for the database connection.
Will be used manage the SQL database interaction.
void updateData(quint32 id, quint32 method, const QVariantMap &data)