aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-09-01 06:11:53 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-09-01 06:11:53 +0000
commitcbcd948461fdbdd95ed40befdc55560ccd86fd9c (patch)
treebb810247e530d1516cbe1d7a8dfd261e115742ad /src
parent22c0a1346bff8bb94f86b1efb0107dac5b32bc3d (diff)
downloadqxmpp-cbcd948461fdbdd95ed40befdc55560ccd86fd9c.tar.gz
add a QXmppConfiguration::setJid() method (closes: #67)
Diffstat (limited to 'src')
-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);