aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2011-09-29 10:02:01 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2011-09-29 10:02:01 +0000
commit82ae99430647a9af638c7b19bddcf822115ff010 (patch)
treeaae230bd4cb254764b8fbde9559ab742ed7f804d /src
parenta5f3ebf596ec570d148ebb5958e6e2d594f52482 (diff)
downloadqxmpp-82ae99430647a9af638c7b19bddcf822115ff010.tar.gz
add QXmppRosterManager::renameItem to rename a roster item
Diffstat (limited to 'src')
-rw-r--r--src/QXmppRosterManager.cpp22
-rw-r--r--src/QXmppRosterManager.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/src/QXmppRosterManager.cpp b/src/QXmppRosterManager.cpp
index 6da4ee51..b89bdc0a 100644
--- a/src/QXmppRosterManager.cpp
+++ b/src/QXmppRosterManager.cpp
@@ -254,6 +254,28 @@ bool QXmppRosterManager::removeItem(const QString &bareJid)
return client()->sendPacket(iq);
}
+/// Renames a roster item.
+///
+/// As a result, the server will initiate a roster push, causing the
+/// itemChanged() signal to be emitted.
+///
+/// \param bareJid
+/// \param name
+
+bool QXmppRosterManager::renameItem(const QString &bareJid, const QString &name)
+{
+ if (!d->entries.contains(bareJid))
+ return false;
+
+ QXmppRosterIq::Item item = d->entries.value(bareJid);
+ item.setName(name);
+
+ QXmppRosterIq iq;
+ iq.setType(QXmppIq::Set);
+ iq.addItem(item);
+ return client()->sendPacket(iq);
+}
+
/// Requests a subscription to the given contact.
///
/// As a result, the server will initiate a roster push, causing the
diff --git a/src/QXmppRosterManager.h b/src/QXmppRosterManager.h
index c7c07de5..f8238544 100644
--- a/src/QXmppRosterManager.h
+++ b/src/QXmppRosterManager.h
@@ -92,6 +92,7 @@ public slots:
bool acceptSubscription(const QString &bareJid);
bool refuseSubscription(const QString &bareJid);
bool removeItem(const QString &bareJid);
+ bool renameItem(const QString &bareJid, const QString &name);
bool subscribe(const QString &bareJid);
bool unsubscribe(const QString &bareJid);