• Main Page
  • Classes
  • Files
  • File List

Swiften/Presence/DirectedPresenceSender.h

00001 /*
00002  * Copyright (c) 2010 Remko Tronçon
00003  * Licensed under the GNU General Public License v3.
00004  * See Documentation/Licenses/GPLv3.txt for more information.
00005  */
00006 
00007 #pragma once
00008 
00009 #include <set>
00010 
00011 #include <Swiften/Elements/Presence.h>
00012 #include <Swiften/Presence/PresenceSender.h>
00013 #include <Swiften/Base/API.h>
00014 
00015 namespace Swift {
00016   class SWIFTEN_API DirectedPresenceSender : public PresenceSender {
00017     public:
00018       enum SendPresence {AndSendPresence, DontSendPresence};
00019       DirectedPresenceSender(PresenceSender*);
00020 
00021       void addDirectedPresenceReceiver(const JID&, SendPresence);
00022       void removeDirectedPresenceReceiver(const JID&, SendPresence);
00023 
00024       void sendPresence(Presence::ref);
00025 
00026       Presence::ref getLastSentUndirectedPresence();
00027 
00028       bool isAvailable() const;
00029 
00030     private:
00031       Presence::ref lastSentUndirectedPresence;
00032       PresenceSender* sender;
00033       std::set<JID> directedPresenceReceivers;
00034   };
00035 }

Generated on Fri Oct 12 2012 21:00:19 for Swiften by  doxygen 1.7.1