/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include #include "Swiften/JID/JID.h" #include "Swiften/Base/boost_bsignals.h" #include "Swiften/Elements/Presence.h" namespace Swift { class StanzaChannel; class SubscriptionManager { public: SubscriptionManager(StanzaChannel* stanzaChannel); ~SubscriptionManager(); void cancelSubscription(const JID& jid); void confirmSubscription(const JID& jid); void requestSubscription(const JID& jid); /** * 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 onPresenceSubscriptionRequest; boost::signal onPresenceSubscriptionRevoked; private: void handleIncomingPresence(Presence::ref presence); private: StanzaChannel* stanzaChannel; }; }