aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppSaslAuth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/QXmppSaslAuth.cpp')
-rw-r--r--src/base/QXmppSaslAuth.cpp16
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