#pragma once #include "Swiften/Base/String.h" #include "Swiften/Elements/Presence.h" #include #include 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_; }; }