Hello,

here is first version of password interface:


#ifndef PASSWORD_INTERFACE
#define PASSWORD_INTERFACE

#include <QObject>
#include <QString>
#include <QtPlugin>

class PasswordInterface : public QObject {

    Q_OBJECT

public:
    PasswordInterface(QObject * parent) : QObject(parent) {}
    virtual ~PasswordInterface() {}

public slots:
    /**
     * @short Read password associated with key and emit signal gotPassword
     **/
    virtual void startReadPassword(const QString &key) = 0;

    /**
     * @short Write password for key and emit signal writtenPassword when done
     **/
    virtual void startWritePassword(const QString &key, const QString 
&password) = 0;

signals:
    /**
     * @short Emitted when method startReadPassword() finish
     **/
    void gotPassword(const QString &key, const QString &password);

    /**
     * @short Emitted when method startWritePassword() finish
     **/
    void writtenPassword(const QString &key);

    /**
     * @short Emitted on error
     **/
    void error(const QString &str);

};

class PasswordFactoryInterface {

public:
    /**
     * @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]

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to