From 0c3b6522c72a63fc7cee12e8412512cd2e9ae3bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Wed, 17 Nov 2010 19:01:43 +0100
Subject: Added presence subscription stanza to onPresenceSubscriptionRequest.

Removed unused signal on Client.

diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h
index 61d9e32..6fa3a34 100644
--- a/Swiften/Client/Client.h
+++ b/Swiften/Client/Client.h
@@ -141,9 +141,6 @@ namespace Swift {
 			 */
 			boost::signal<void (Presence::ref)> onPresenceChange;
 
-
-			boost::signal<void (const JID&, const String&)> onPresenceSubscriptionRequest;
-
 		private:
 			Storages* getStorages() const;
 
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;
 
-- 
cgit v0.10.2-6-g49f6