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)
72 namespace SignonDaemonNS {
214 enum KeySwapAuthorizingMech {
216 AuthorizedKeyRemovedFirst,
217 UnauthorizedKeyRemovedFirst
225 enum StorageUiCleanupFlag {
227 DisableCoreKeyAuthorization
232 Q_DECLARE_FLAGS(StorageUiCleanupFlags, StorageUiCleanupFlag)
241 QObject *parent = 0);
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();
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;
396 QList<SignOn::AbstractKeyManager *> keyManagers;
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;
408 QList<EventSender> m_secureStorageEventNotifiers;
413 #endif // CREDENTIALS_ACCESS_MANAGER_H