diff options
| author | Tobias Markmann <tm@ayena.de> | 2011-11-11 15:01:32 (GMT) | 
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2011-11-28 16:44:22 (GMT) | 
| commit | 86aad702d1f2e831c8e27bbe4ca1402626e4c542 (patch) | |
| tree | 3be5a8ed23aef3877c9b313d0ee0f58afb54f57a /Swift/Controllers/Chat/ChatController.h | |
| parent | 81a7776d5ab523894a7c4745baee3988ad9f1ef9 (diff) | |
| download | swift-86aad702d1f2e831c8e27bbe4ca1402626e4c542.zip swift-86aad702d1f2e831c8e27bbe4ca1402626e4c542.tar.bz2 | |
Message Receipts (XEP-0184) support for 1-to-1 conversations (including 1-to-1 MUC).
Warn icon from already existing theme. Check icon from Wikipedia. See Swift/resources/icons/license_info.txt for details.
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
Diffstat (limited to 'Swift/Controllers/Chat/ChatController.h')
| -rw-r--r-- | Swift/Controllers/Chat/ChatController.h | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/Swift/Controllers/Chat/ChatController.h b/Swift/Controllers/Chat/ChatController.h index 2531adb..9c01923 100644 --- a/Swift/Controllers/Chat/ChatController.h +++ b/Swift/Controllers/Chat/ChatController.h @@ -11,6 +11,8 @@  #include <map>  #include <string> +#include <Swift/Controllers/UIInterfaces/ChatWindow.h> +  namespace Swift {  	class AvatarManager;  	class ChatStateNotifier; @@ -18,14 +20,16 @@ namespace Swift {  	class NickResolver;  	class EntityCapsProvider;  	class FileTransferController; +	class UIEvent;  	class ChatController : public ChatControllerBase {  		public: -			ChatController(const JID& self, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, const JID &contact, NickResolver* nickResolver, PresenceOracle* presenceOracle, AvatarManager* avatarManager, bool isInMUC, bool useDelayForLatency, UIEventStream* eventStream, EventController* eventController, TimerFactory* timerFactory, EntityCapsProvider* entityCapsProvider); +			ChatController(const JID& self, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, const JID &contact, NickResolver* nickResolver, PresenceOracle* presenceOracle, AvatarManager* avatarManager, bool isInMUC, bool useDelayForLatency, UIEventStream* eventStream, EventController* eventController, TimerFactory* timerFactory, EntityCapsProvider* entityCapsProvider, bool userWantsReceipts);  			virtual ~ChatController();  			virtual void setToJID(const JID& jid);  			virtual void setOnline(bool online);  			virtual void handleNewFileTransferController(FileTransferController* ftc); +			virtual void setContactIsReceivingPresence(bool /*isReceivingPresence*/);  		private:  			void handlePresenceChange(boost::shared_ptr<Presence> newPresence); @@ -47,6 +51,9 @@ namespace Swift {  			void handleFileTransferAccept(std::string /* id */, std::string /* filename */);  			void handleSendFileRequest(std::string filename); +			void handleUIEvent(boost::shared_ptr<UIEvent> event); +			void checkForDisplayingDisplayReceiptsAlert(); +  		private:  			NickResolver* nickResolver_;  			ChatStateNotifier* chatStateNotifier_; @@ -56,9 +63,13 @@ namespace Swift {  			bool lastWasPresence_;  			std::string lastStatusChangeString_;  			std::map<boost::shared_ptr<Stanza>, std::string> unackedStanzas_; +			std::map<std::string, std::string> requestedReceipts_;  			StatusShow::Type lastShownStatus_;  			UIEventStream* eventStream_; +			ChatWindow::Tristate contactSupportsReceipts_; +			bool receivingPresenceFromUs_; +			bool userWantsReceipts_;  			std::map<std::string, FileTransferController*> ftControllers;  	};  } | 
 Swift
 Swift