19 #ifndef LIB_QUENTIER_UTILITY_I_KEYCHAIN_SERVICE_H
20 #define LIB_QUENTIER_UTILITY_I_KEYCHAIN_SERVICE_H
22 #include <quentier/types/ErrorString.h>
23 #include <quentier/utility/ForwardDeclarations.h>
24 #include <quentier/utility/Linkage.h>
31 QT_FORWARD_DECLARE_CLASS(QDebug)
88 friend QTextStream & operator<<(
89 QTextStream & strm,
const ErrorCode errorCode);
91 friend QDebug & operator<<(QDebug & dbg,
const ErrorCode errorCode);
106 virtual QUuid startWritePasswordJob(
107 const QString & service,
const QString & key,
108 const QString & password) = 0;
121 virtual QUuid startReadPasswordJob(
122 const QString & service,
const QString & key) = 0;
135 virtual QUuid startDeletePasswordJob(
136 const QString & service,
const QString & key) = 0;
151 void writePasswordJobFinished(
152 QUuid requestId, ErrorCode errorCode,
ErrorString errorDescription);
167 void readPasswordJobFinished(
168 QUuid requestId, ErrorCode errorCode,
ErrorString errorDescription,
183 void deletePasswordJobFinished(
184 QUuid requestId, ErrorCode errorCode,
ErrorString errorDescription);
190 QUENTIER_EXPORT IKeychainServicePtr
191 newQtKeychainService(QObject * parent =
nullptr);
193 QUENTIER_EXPORT IKeychainServicePtr
194 newObfuscatingKeychainService(QObject * parent =
nullptr);
196 QUENTIER_EXPORT IKeychainServicePtr newCompositeKeychainService(
197 QString name, IKeychainServicePtr primaryKeychain,
198 IKeychainServicePtr secondaryKeychain, QObject * parent =
nullptr);
200 QUENTIER_EXPORT IKeychainServicePtr newMigratingKeychainService(
201 IKeychainServicePtr sourceKeychain, IKeychainServicePtr sinkKeychain,
202 QObject * parent =
nullptr);
206 #endif // LIB_QUENTIER_UTILITY_I_KEYCHAIN_SERVICE_H