31 #ifndef CREDENTIALS_ACCESS_MANAGER_H 32 #define CREDENTIALS_ACCESS_MANAGER_H 41 #include <QStringList> 42 #include <QVariantMap> 44 #include "SignOn/AbstractAccessControlManager" 45 #include "SignOn/AbstractCryptoManager" 46 #include "SignOn/AbstractKeyAuthorizer" 47 #include "SignOn/AbstractKeyManager" 48 #include "SignOn/AbstractSecretsStorage" 49 #include "SignOn/KeyHandler" 58 #define SIGNON_SECURE_STORAGE_NOT_AVAILABLE (QEvent::User + 1001) 66 #define SIGNON_SECURE_STORAGE_AVAILABLE (QEvent::User + 1002) 116 void serialize(QIODevice *device);
121 QString metadataDBPath()
const;
126 QString cryptoManagerName()
const;
131 QString accessControlManagerName()
const;
133 bool useEncryption()
const;
138 QString secretsStorageName()
const;
140 void setStoragePath(
const QString &storagePath);
143 m_settings.insert(key, value);
214 enum KeySwapAuthorizingMech {
216 AuthorizedKeyRemovedFirst,
217 UnauthorizedKeyRemovedFirst
225 enum StorageUiCleanupFlag {
227 DisableCoreKeyAuthorization
232 Q_DECLARE_FLAGS(StorageUiCleanupFlags, StorageUiCleanupFlag)
241 QObject *parent = 0);
275 void addKeyManager(SignOn::AbstractKeyManager *keyManager);
283 bool initExtension(QObject *
object);
285 QStringList backupFiles()
const;
297 bool openCredentialsSystem();
308 bool closeCredentialsSystem();
320 bool deleteCredentialsSystem();
336 bool isCredentialsSystemReady()
const;
358 bool keysAvailable()
const;
364 void credentialsSystemReady();
367 void onKeyInserted(
const SignOn::Key key);
368 void onLastAuthorizedKeyRemoved(
const SignOn::Key key);
369 void onKeyRemoved(
const SignOn::Key key);
370 void onKeyAuthorizationQueried(
const SignOn::Key,
int);
371 void onEncryptedFSMounted();
372 void onEncryptedFSUnmounting();
375 void customEvent(QEvent *event);
378 bool createStorageDir();
379 bool openSecretsDB();
380 bool isSecretsDBOpen();
381 bool closeSecretsDB();
382 bool openMetaDataDB();
383 void closeMetaDataDB();
384 void replyToSecureStorageEventNotifiers();
389 bool m_isInitialized;
399 SignOn::AbstractCryptoManager *m_cryptoManager;
400 SignOn::KeyHandler *m_keyHandler;
401 SignOn::AbstractKeyAuthorizer *m_keyAuthorizer;
402 SignOn::AbstractSecretsStorage *m_secretsStorage;
404 SignOn::AbstractAccessControlManager *m_acManager;
413 #endif // CREDENTIALS_ACCESS_MANAGER_H
Definition of the CredentialsDB object.
void addSetting(const QString &key, const QVariant &value)
QString m_dbName
The database file name.
bool credentialsSystemOpened() const
For convenience method.
const CAMConfiguration & configuration() const
QString m_secretsDbName
The credentials database file name.
Any object in the signon framework that needs the CredentialsAccessManager - CAM - secure storage in ...
QString m_storagePath
The base directory for storage.
Main singleton and manager object of the credentials database system.
QPointer< QObject > EventSender
SecureStorageEvent(QEvent::Type type)
CredentialsAccessError lastError() const
Manages the credentials I/O.
Configuration object for the CredentialsAccessManager - CAM.
Helper class for access control-related functionality.
QByteArray m_encryptionPassphrase
Passphrase used for opening encrypted FS.
Contains helper functions related to Access Control.