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
[email protected]
signature.asc
Description: This is a digitally signed message part.
