summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Presence')
-rw-r--r--Swiften/Presence/SubscriptionManager.cpp2
-rw-r--r--Swiften/Presence/SubscriptionManager.h9
2 files changed, 8 insertions, 3 deletions
diff --git a/Swiften/Presence/SubscriptionManager.cpp b/Swiften/Presence/SubscriptionManager.cpp
index 12534dc..004309e 100644
--- a/Swiften/Presence/SubscriptionManager.cpp
+++ b/Swiften/Presence/SubscriptionManager.cpp
@@ -46,7 +46,7 @@ void SubscriptionManager::requestSubscription(const JID& jid) {
void SubscriptionManager::handleIncomingPresence(Presence::ref presence) {
JID bareJID(presence->getFrom().toBare());
if (presence->getType() == Presence::Subscribe) {
- onPresenceSubscriptionRequest(bareJID, presence->getStatus());
+ onPresenceSubscriptionRequest(bareJID, presence->getStatus(), presence);
}
else if (presence->getType() == Presence::Unsubscribe) {
onPresenceSubscriptionRevoked(bareJID, presence->getStatus());
diff --git a/Swiften/Presence/SubscriptionManager.h b/Swiften/Presence/SubscriptionManager.h
index 477a2fd..fdf3c04 100644
--- a/Swiften/Presence/SubscriptionManager.h
+++ b/Swiften/Presence/SubscriptionManager.h
@@ -26,9 +26,14 @@ namespace Swift {
void requestSubscription(const JID& jid);
/**
- * This signal is emitted when a presence subscription request is received.
+ * This signal is emitted when a presence subscription request is
+ * received.
+ *
+ * The third parameter of this signal is the original presence stanza
+ * received. This is useful when the subscriber adds extensions to
+ * the request.
*/
- boost::signal<void (const JID&, const String&)> onPresenceSubscriptionRequest;
+ boost::signal<void (const JID&, const String&, Presence::ref)> onPresenceSubscriptionRequest;
boost::signal<void (const JID&, const String&)> onPresenceSubscriptionRevoked;