diff options
Diffstat (limited to 'Swift/Controllers/Chat/MUCController.h')
| -rw-r--r-- | Swift/Controllers/Chat/MUCController.h | 22 | 
1 files changed, 14 insertions, 8 deletions
diff --git a/Swift/Controllers/Chat/MUCController.h b/Swift/Controllers/Chat/MUCController.h index 63893d0..cad0c94 100644 --- a/Swift/Controllers/Chat/MUCController.h +++ b/Swift/Controllers/Chat/MUCController.h @@ -1,24 +1,27 @@  /* - * Copyright (c) 2010 Kevin Smith + * Copyright (c) 2010-2013 Kevin Smith   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */  #pragma once +#include <set> +#include <string> +#include <map> +  #include <boost/shared_ptr.hpp> -#include <Swiften/Base/boost_bsignals.h>  #include <boost/signals/connection.hpp> -#include <set> -#include <string> +#include <Swiften/Base/boost_bsignals.h>  #include <Swiften/Network/Timer.h> -#include <Swift/Controllers/Chat/ChatControllerBase.h>  #include <Swiften/Elements/Message.h>  #include <Swiften/Elements/DiscoInfo.h>  #include <Swiften/JID/JID.h>  #include <Swiften/MUC/MUC.h>  #include <Swiften/Elements/MUCOccupant.h> + +#include <Swift/Controllers/Chat/ChatControllerBase.h>  #include <Swift/Controllers/Roster/RosterItem.h>  #include <Swift/Controllers/UIInterfaces/ChatWindow.h> @@ -33,18 +36,19 @@ namespace Swift {  	class TabComplete;  	class InviteToChatWindow;  	class XMPPRoster; +	class HighlightManager;  	enum JoinPart {Join, Part, JoinThenPart, PartThenJoin};  	struct NickJoinPart { -			NickJoinPart(const std::string& nick, JoinPart type) : nick(nick), type(type) {}; +			NickJoinPart(const std::string& nick, JoinPart type) : nick(nick), type(type) {}  			std::string nick;  			JoinPart type;  	};  	class MUCController : public ChatControllerBase {  		public: -			MUCController(const JID& self, MUC::ref muc, const boost::optional<std::string>& password, const std::string &nick, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, PresenceOracle* presenceOracle, AvatarManager* avatarManager, UIEventStream* events, bool useDelayForLatency, TimerFactory* timerFactory, EventController* eventController, EntityCapsProvider* entityCapsProvider, XMPPRoster* roster, HistoryController* historyController, MUCRegistry* mucRegistry); +			MUCController(const JID& self, MUC::ref muc, const boost::optional<std::string>& password, const std::string &nick, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, PresenceOracle* presenceOracle, AvatarManager* avatarManager, UIEventStream* events, bool useDelayForLatency, TimerFactory* timerFactory, EventController* eventController, EntityCapsProvider* entityCapsProvider, XMPPRoster* roster, HistoryController* historyController, MUCRegistry* mucRegistry, HighlightManager* highlightManager, ChatMessageParser* chatMessageParser);  			~MUCController();  			boost::signal<void ()> onUserLeft;  			boost::signal<void ()> onUserJoined; @@ -62,7 +66,7 @@ namespace Swift {  			std::string senderDisplayNameFromMessage(const JID& from);  			boost::optional<boost::posix_time::ptime> getMessageTimestamp(boost::shared_ptr<Message> message) const;  			void preHandleIncomingMessage(boost::shared_ptr<MessageEvent>); -			void postHandleIncomingMessage(boost::shared_ptr<MessageEvent>); +			void postHandleIncomingMessage(boost::shared_ptr<MessageEvent>, const HighlightAction&);  			void cancelReplaces();  			void logMessage(const std::string& message, const JID& fromJID, const JID& toJID, const boost::posix_time::ptime& timeStamp, bool isIncoming); @@ -108,6 +112,7 @@ namespace Swift {  			void handleInviteToMUCWindowCompleted();  			void addRecentLogs();  			void checkDuplicates(boost::shared_ptr<Message> newMessage); +			void setNick(const std::string& nick);  		private:  			MUC::ref muc_; @@ -130,6 +135,7 @@ namespace Swift {  			InviteToChatWindow* inviteWindow_;  			XMPPRoster* xmppRoster_;  			std::vector<HistoryMessage> joinContext_; +			size_t renameCounter_;  	};  }  | 
 Swift