aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/QXmppConfiguration.cpp16
-rw-r--r--src/QXmppConfiguration.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/src/QXmppConfiguration.cpp b/src/QXmppConfiguration.cpp
index bf7e9727..601cde0b 100644
--- a/src/QXmppConfiguration.cpp
+++ b/src/QXmppConfiguration.cpp
@@ -23,6 +23,7 @@
#include "QXmppConfiguration.h"
+#include "QXmppUtils.h"
/// Creates a QXmppConfiguration object.
@@ -124,6 +125,21 @@ void QXmppConfiguration::setResource(const QString& resource)
m_resource = resource;
}
+/// Sets the JID. If a full JID (i.e. one with a resource) is given, calling
+/// this method will update the username, domain and resource. Otherwise, only
+/// the username and the domain will be updated.
+///
+/// \param jid
+
+void QXmppConfiguration::setJid(const QString& jid)
+{
+ m_user = jidToUser(jid);
+ m_domain = jidToDomain(jid);
+ const QString resource = jidToResource(jid);
+ if (!resource.isEmpty())
+ m_resource = resource;
+}
+
/// Returns the host name.
///
/// \return host name
diff --git a/src/QXmppConfiguration.h b/src/QXmppConfiguration.h
index e07829af..58065b82 100644
--- a/src/QXmppConfiguration.h
+++ b/src/QXmppConfiguration.h
@@ -111,6 +111,7 @@ public:
void setUser(const QString&);
void setPasswd(const QString&);
void setResource(const QString&);
+ void setJid(const QString &jid);
void setAutoAcceptSubscriptions(bool);
void setAutoReconnectionEnabled(bool);