diff options
Diffstat (limited to 'src/base/QXmppSaslAuth.cpp')
| -rw-r--r-- | src/base/QXmppSaslAuth.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/base/QXmppSaslAuth.cpp b/src/base/QXmppSaslAuth.cpp index b42d71fa..b3758873 100644 --- a/src/base/QXmppSaslAuth.cpp +++ b/src/base/QXmppSaslAuth.cpp @@ -28,6 +28,7 @@ #include <QUrl> #include "QXmppSaslAuth.h" +#include "QXmppSaslAuth_p.h" #include "QXmppUtils.h" class QXmppSaslClientPrivate @@ -48,6 +49,21 @@ QXmppSaslClient::~QXmppSaslClient() delete d; } +QXmppSaslClient* QXmppSaslClient::create(const QString &mechanism) +{ + if (mechanism == "PLAIN") { + return new QXmppSaslClientPlain; + } else if (mechanism == "DIGEST-MD5") { + return new QXmppSaslClientDigestMd5; + } else if (mechanism == "ANONYMOUS") { + return new QXmppSaslClientAnonymous; + } else if (mechanism == "X-FACEBOOK-PLATFORM") { + return new QXmppSaslClientFacebook; + } else { + return 0; + } +} + /// Returns the server. QString QXmppSaslClient::server() const |
