aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-07-21 16:15:00 +0200
committerJeremy Lainé <jeremy.laine@m4x.org>2012-07-21 16:15:00 +0200
commite8f3edc023e3d3da523a688c2d80fccbf37c4a79 (patch)
tree2351309918b73fb90f200c02d3883305ecb17350 /src
parentaefa4f51b84542c1203930323da74d603a8d9345 (diff)
downloadqxmpp-e8f3edc023e3d3da523a688c2d80fccbf37c4a79.tar.gz
Add a "reason" argument to QXmppRosterManager's subscription methods.
Diffstat (limited to 'src')
-rw-r--r--src/client/QXmppRosterManager.cpp12
-rw-r--r--src/client/QXmppRosterManager.h8
2 files changed, 12 insertions, 8 deletions
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<QString> &groups = QSet<QString>());
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