summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-11-17 18:01:43 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-11-17 18:01:43 (GMT)
commit0c3b6522c72a63fc7cee12e8412512cd2e9ae3bd (patch)
treea552d093057d639ece87895cb9606d92d1d649ec
parent0fbc0b78e0f12a1700470b9ca3def0f4cdd6a1ff (diff)
downloadswift-contrib-0c3b6522c72a63fc7cee12e8412512cd2e9ae3bd.zip
swift-contrib-0c3b6522c72a63fc7cee12e8412512cd2e9ae3bd.tar.bz2
Added presence subscription stanza to onPresenceSubscriptionRequest.
Removed unused signal on Client.
-rw-r--r--Swiften/Client/Client.h3
-rw-r--r--Swiften/Presence/SubscriptionManager.cpp2
-rw-r--r--Swiften/Presence/SubscriptionManager.h9
3 files changed, 8 insertions, 6 deletions
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;