diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 10:59:53 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2012-07-20 10:59:53 +0200 |
| commit | 15cab790071aabfc62977d590b89f54a5fa6e92d (patch) | |
| tree | 4b75e1269ab983d06130340325a4ee97baf901e7 /src/base/QXmppSaslAuth.h | |
| parent | a609100c2a0eb19ef4b9c7a571366281ca722ac8 (diff) | |
| download | qxmpp-15cab790071aabfc62977d590b89f54a5fa6e92d.tar.gz | |
first stab at factoring out server-side SASL
Diffstat (limited to 'src/base/QXmppSaslAuth.h')
| -rw-r--r-- | src/base/QXmppSaslAuth.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/base/QXmppSaslAuth.h b/src/base/QXmppSaslAuth.h index b6428eb8..9026d757 100644 --- a/src/base/QXmppSaslAuth.h +++ b/src/base/QXmppSaslAuth.h @@ -32,6 +32,7 @@ #include "QXmppLogger.h" class QXmppSaslClientPrivate; +class QXmppSaslServerPrivate; class QXMPP_EXPORT QXmppSaslDigestMd5 { @@ -105,4 +106,31 @@ private: QXmppSaslClientPrivate *d; }; +class QXMPP_EXPORT QXmppSaslServer : public QXmppLoggable +{ +public: + enum Response { + Challenge = 0, + Succeeded = 1, + Failed = 2 + }; + + QXmppSaslServer(QObject *parent = 0); + virtual ~QXmppSaslServer(); + + QString username() const; + void setUsername(const QString &username); + + QString password() const; + void setPassword(const QString &password); + + virtual QString mechanism() const = 0; + virtual Response respond(const QByteArray &challenge, QByteArray &response) = 0; + + static QXmppSaslServer* create(const QString &mechanism, QObject *parent = 0); + +private: + QXmppSaslServerPrivate *d; +}; + #endif |
