From e8f3edc023e3d3da523a688c2d80fccbf37c4a79 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Sat, 21 Jul 2012 16:15:00 +0200 Subject: Add a "reason" argument to QXmppRosterManager's subscription methods. --- src/client/QXmppRosterManager.cpp | 12 ++++++++---- src/client/QXmppRosterManager.h | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/client/QXmppRosterManager.cpp b/src/client/QXmppRosterManager.cpp index ebe41887..ca64df23 100644 --- a/src/client/QXmppRosterManager.cpp +++ b/src/client/QXmppRosterManager.cpp @@ -88,11 +88,12 @@ QXmppRosterManager::~QXmppRosterManager() /// /// You can call this method in reply to the subscriptionRequest() signal. -bool QXmppRosterManager::acceptSubscription(const QString &bareJid) +bool QXmppRosterManager::acceptSubscription(const QString &bareJid, const QString &reason) { QXmppPresence presence; presence.setTo(bareJid); presence.setType(QXmppPresence::Subscribed); + presence.setStatusText(reason); return client()->sendPacket(presence); } @@ -227,11 +228,12 @@ void QXmppRosterManager::_q_presenceReceived(const QXmppPresence& presence) /// /// You can call this method in reply to the subscriptionRequest() signal. -bool QXmppRosterManager::refuseSubscription(const QString &bareJid) +bool QXmppRosterManager::refuseSubscription(const QString &bareJid, const QString &reason) { QXmppPresence presence; presence.setTo(bareJid); presence.setType(QXmppPresence::Unsubscribed); + presence.setStatusText(reason); return client()->sendPacket(presence); } @@ -304,11 +306,12 @@ bool QXmppRosterManager::renameItem(const QString &bareJid, const QString &name) /// As a result, the server will initiate a roster push, causing the /// itemAdded() or itemChanged() signal to be emitted. -bool QXmppRosterManager::subscribe(const QString &bareJid) +bool QXmppRosterManager::subscribe(const QString &bareJid, const QString &reason) { QXmppPresence packet; packet.setTo(QXmppUtils::jidToBareJid(bareJid)); packet.setType(QXmppPresence::Subscribe); + packet.setStatusText(reason); return client()->sendPacket(packet); } @@ -317,11 +320,12 @@ bool QXmppRosterManager::subscribe(const QString &bareJid) /// As a result, the server will initiate a roster push, causing the /// itemChanged() signal to be emitted. -bool QXmppRosterManager::unsubscribe(const QString &bareJid) +bool QXmppRosterManager::unsubscribe(const QString &bareJid, const QString &reason) { QXmppPresence packet; packet.setTo(QXmppUtils::jidToBareJid(bareJid)); packet.setType(QXmppPresence::Unsubscribe); + packet.setStatusText(reason); return client()->sendPacket(packet); } diff --git a/src/client/QXmppRosterManager.h b/src/client/QXmppRosterManager.h index 2e846570..3781509b 100644 --- a/src/client/QXmppRosterManager.h +++ b/src/client/QXmppRosterManager.h @@ -89,13 +89,13 @@ public: /// \endcond public slots: - bool acceptSubscription(const QString &bareJid); - bool refuseSubscription(const QString &bareJid); + bool acceptSubscription(const QString &bareJid, const QString &reason = QString()); + bool refuseSubscription(const QString &bareJid, const QString &reason = QString()); bool addItem(const QString &bareJid, const QString &name = QString(), const QSet &groups = QSet()); bool removeItem(const QString &bareJid); bool renameItem(const QString &bareJid, const QString &name); - bool subscribe(const QString &bareJid); - bool unsubscribe(const QString &bareJid); + bool subscribe(const QString &bareJid, const QString &reason = QString()); + bool unsubscribe(const QString &bareJid, const QString &reason = QString()); signals: /// This signal is emitted when the Roster IQ is received after a successful -- cgit v1.2.3