From 7e0e2f4977ffad379dc8b261fcadbd253a03773a Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 19 Jan 2011 10:51:05 +0000 Subject: add QXmppRosterManager::removeRosterEntry() --- src/QXmppRosterManager.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/QXmppRosterManager.cpp') diff --git a/src/QXmppRosterManager.cpp b/src/QXmppRosterManager.cpp index 8cc1b52e..6adf7d56 100644 --- a/src/QXmppRosterManager.cpp +++ b/src/QXmppRosterManager.cpp @@ -126,6 +126,25 @@ void QXmppRosterManager::presenceReceived(const QXmppPresence& presence) } } +/// Removes a roster entry and cancels subscriptions to and from the contact. +/// +/// As a result, the server will initiate a roster push, causing the +/// rosterChanged() signal to be emitted. +/// +/// \param bareJid + +void QXmppRosterManager::removeRosterEntry(const QString &bareJid) +{ + QXmppRosterIq::Item item; + item.setBareJid(bareJid); + item.setSubscriptionType(QXmppRosterIq::Item::Remove); + + QXmppRosterIq iq; + iq.setType(QXmppIq::Set); + iq.addItem(item); + client()->sendPacket(iq); +} + void QXmppRosterManager::rosterIqReceived(const QXmppRosterIq& rosterIq) { bool isInitial = (m_rosterReqId == rosterIq.id()); -- cgit v1.2.3