/* * 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 "Swiften/Base/String.h" #include "Swiften/Elements/Presence.h" #include #include "Swiften/Base/boost_bsignals.h" namespace Swift { class StanzaChannel; class PresenceOracle { public: PresenceOracle(StanzaChannel* stanzaChannel); ~PresenceOracle() {}; void cancelSubscription(const JID& jid); void confirmSubscription(const JID& jid); void requestSubscription(const JID& jid); boost::signal, boost::shared_ptr)> onPresenceChange; boost::signal onPresenceSubscriptionRequest; private: void handleIncomingPresence(boost::shared_ptr presence); std::map > > entries_; StanzaChannel* stanzaChannel_; }; }