diff options
Diffstat (limited to 'Swift/Controllers/Chat/ChatControllerBase.h')
| -rw-r--r-- | Swift/Controllers/Chat/ChatControllerBase.h | 62 | 
1 files changed, 35 insertions, 27 deletions
diff --git a/Swift/Controllers/Chat/ChatControllerBase.h b/Swift/Controllers/Chat/ChatControllerBase.h index b26af02..129c75b 100644 --- a/Swift/Controllers/Chat/ChatControllerBase.h +++ b/Swift/Controllers/Chat/ChatControllerBase.h @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010-2012 Kevin Smith + * Copyright (c) 2010-2013 Kevin Smith   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -8,50 +8,56 @@  #include <map>  #include <vector> +#include <string> +  #include <boost/shared_ptr.hpp> -#include "Swiften/Base/boost_bsignals.h" -#include <boost/filesystem.hpp> +#include <boost/filesystem/path.hpp>  #include <boost/optional.hpp>  #include <boost/date_time/posix_time/posix_time.hpp> -#include "Swiften/Network/Timer.h" -#include "Swiften/Network/TimerFactory.h" -#include "Swiften/Elements/Stanza.h" -#include <string> -#include "Swiften/Elements/DiscoInfo.h" -#include "Swift/Controllers/XMPPEvents/MessageEvent.h" +#include <Swiften/Network/Timer.h> +#include <Swiften/Network/TimerFactory.h> +#include <Swiften/Elements/Stanza.h> +#include <Swiften/Base/boost_bsignals.h> +#include <Swiften/Elements/DiscoInfo.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Elements/SecurityLabelsCatalog.h> +#include <Swiften/Elements/ErrorPayload.h> +#include <Swiften/Presence/PresenceOracle.h> +#include <Swiften/Queries/IQRouter.h> +#include <Swiften/Base/IDGenerator.h> +#include <Swiften/MUC/MUCRegistry.h> + +#include <Swift/Controllers/XMPPEvents/MessageEvent.h>  #include <Swift/Controllers/XMPPEvents/MUCInviteEvent.h> -#include "Swiften/JID/JID.h" -#include "Swiften/Elements/SecurityLabelsCatalog.h" -#include "Swiften/Elements/ErrorPayload.h" -#include "Swiften/Presence/PresenceOracle.h" -#include "Swiften/Queries/IQRouter.h" -#include "Swiften/Base/IDGenerator.h"  #include <Swift/Controllers/HistoryController.h> -#include <Swiften/MUC/MUCRegistry.h> +#include <Swift/Controllers/HighlightManager.h> +#include <Swift/Controllers/UIInterfaces/ChatWindow.h>  namespace Swift {  	class IQRouter;  	class StanzaChannel; -	class ChatWindow;  	class ChatWindowFactory;  	class AvatarManager;  	class UIEventStream;  	class EventController;  	class EntityCapsProvider; +	class HighlightManager; +	class Highlighter; +	class ChatMessageParser;  	class ChatControllerBase : public boost::bsignals::trackable {  		public:  			virtual ~ChatControllerBase();  			void showChatWindow();  			void activateChatWindow(); -			void setAvailableServerFeatures(boost::shared_ptr<DiscoInfo> info); +			virtual void setAvailableServerFeatures(boost::shared_ptr<DiscoInfo> info);  			void handleIncomingMessage(boost::shared_ptr<MessageEvent> message); -			std::string addMessage(const std::string& message, const std::string& senderName, bool senderIsSelf, boost::shared_ptr<SecurityLabel> label, const std::string& avatarPath, const boost::posix_time::ptime& time); -			void replaceMessage(const std::string& message, const std::string& id, const boost::posix_time::ptime& time); +			std::string addMessage(const std::string& message, const std::string& senderName, bool senderIsSelf, boost::shared_ptr<SecurityLabel> label, const boost::filesystem::path& avatarPath, const boost::posix_time::ptime& time, const HighlightAction& highlight); +			void replaceMessage(const std::string& message, const std::string& id, const boost::posix_time::ptime& time, const HighlightAction& highlight);  			virtual void setOnline(bool online);  			virtual void setEnabled(bool enabled); -			virtual void setToJID(const JID& jid) {toJID_ = jid;}; +			virtual void setToJID(const JID& jid) {toJID_ = jid;}  			/** Used for determining when something is recent.*/  			boost::signal<void (const std::string& /*activity*/)> onActivity;  			boost::signal<void ()> onUnreadCountChanged; @@ -60,20 +66,20 @@ namespace Swift {  			void handleCapsChanged(const JID& jid);  		protected: -			ChatControllerBase(const JID& self, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, const JID &toJID, PresenceOracle* presenceOracle, AvatarManager* avatarManager, bool useDelayForLatency, UIEventStream* eventStream, EventController* eventController, TimerFactory* timerFactory, EntityCapsProvider* entityCapsProvider, HistoryController* historyController, MUCRegistry* mucRegistry); +			ChatControllerBase(const JID& self, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, const JID &toJID, PresenceOracle* presenceOracle, AvatarManager* avatarManager, bool useDelayForLatency, UIEventStream* eventStream, EventController* eventController, TimerFactory* timerFactory, EntityCapsProvider* entityCapsProvider, HistoryController* historyController, MUCRegistry* mucRegistry, HighlightManager* highlightManager, ChatMessageParser* chatMessageParser);  			/**  			 * Pass the Message appended, and the stanza used to send it.  			 */ -			virtual void postSendMessage(const std::string&, boost::shared_ptr<Stanza>) {}; +			virtual void postSendMessage(const std::string&, boost::shared_ptr<Stanza>) {}  			virtual std::string senderDisplayNameFromMessage(const JID& from) = 0;  			virtual bool isIncomingMessageFromMe(boost::shared_ptr<Message>) = 0; -			virtual void preHandleIncomingMessage(boost::shared_ptr<MessageEvent>) {}; -			virtual void postHandleIncomingMessage(boost::shared_ptr<MessageEvent>) {}; -			virtual void preSendMessageRequest(boost::shared_ptr<Message>) {}; +			virtual void preHandleIncomingMessage(boost::shared_ptr<MessageEvent>) {} +			virtual void postHandleIncomingMessage(boost::shared_ptr<MessageEvent>, const HighlightAction&) {} +			virtual void preSendMessageRequest(boost::shared_ptr<Message>) {}  			virtual bool isFromContact(const JID& from);  			virtual boost::optional<boost::posix_time::ptime> getMessageTimestamp(boost::shared_ptr<Message>) const = 0; -			virtual void dayTicked() {}; +			virtual void dayTicked() {}  			virtual void handleBareJIDCapsChanged(const JID& jid) = 0;  			std::string getErrorMessage(boost::shared_ptr<ErrorPayload>);  			virtual void setContactIsReceivingPresence(bool /* isReceivingPresence */) {} @@ -116,5 +122,7 @@ namespace Swift {  			SecurityLabelsCatalog::Item lastLabel_;   			HistoryController* historyController_;  			MUCRegistry* mucRegistry_; +			Highlighter* highlighter_; +			ChatMessageParser* chatMessageParser_;  	};  }  | 
 Swift