Here is new version of password interface: #ifndef PASSWORD_INTERFACE #define PASSWORD_INTERFACE
#include <QObject> #include <QString> #include <QtPlugin> class PasswordInterface : public QObject { Q_OBJECT public: enum Status { Success = 0, NoPassword, Error, }; PasswordInterface(QObject *parent) : QObject(parent) {} public slots: /** * @short Request password associated with accountId and accountType and emit signal @see passwordAvailable when finish **/ virtual void requestPassword(const QString &accountId, const QString &accountType) = 0; /** * @short Save password for accountId and accountType and emit signal @see passwordStored when finish **/ virtual void storePassword(const QString &accountId, const QString &accountType, const QString &password) = 0; /** * @short Delete password for accountId and accountType and emit signal @see passwordDeleted when finish **/ virtual void deletePassword(const QString &accountId, const QString &accountType) = 0; signals: /** * @short Emitted when @see requestPassword finish **/ void passwordAvailable(enum PasswordInterface::Status status, const QString &accountId, const QString &accountType, const QString &password); /** * @short Emitted when @see storePassword finish **/ void passwordStored(enum PasswordInterface::Status status, const QString &accountId, const QString &accountType); /** * @short Emitted when @see deletePassword finish **/ void passwordDeleted(enum PasswordInterface::Status status, const QString &accountId, const QString &accountType); }; class PasswordFactoryInterface { public: /** * @short Return name of plugin **/ virtual QString name() = 0; /** * @short Return description of plugin **/ virtual QString description() = 0; /** * @short Return true if this plugin is valid and can be used (e.g this password storage is available) **/ virtual bool isValid() = 0; /** * @short Return new PasswordInterface instance implemented by plugin **/ virtual PasswordInterface *create(QObject *parent) = 0; }; Q_DECLARE_INTERFACE(PasswordFactoryInterface, "PasswordFactoryInterface"); #endif //PASSWORD_INTERFACE -- Pali Rohár pali.ro...@gmail.com
signature.asc
Description: This is a digitally signed message part.