diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-06-10 17:23:57 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-06-10 17:38:05 (GMT) |
commit | e2f5588d089e4d2148762ea092e032976254a467 (patch) | |
tree | 851946c7a36ffa96e0f3ab54bc72f233f8b2c746 /Swift/Controllers/MUCController.h | |
parent | 7214d768dca85a6d43892169d5008898249dce73 (diff) | |
download | swift-contrib-e2f5588d089e4d2148762ea092e032976254a467.zip swift-contrib-e2f5588d089e4d2148762ea092e032976254a467.tar.bz2 |
Moved Swiften/Controllers to Swift/Controllers.
Diffstat (limited to 'Swift/Controllers/MUCController.h')
-rw-r--r-- | Swift/Controllers/MUCController.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Swift/Controllers/MUCController.h b/Swift/Controllers/MUCController.h new file mode 100644 index 0000000..c87695e --- /dev/null +++ b/Swift/Controllers/MUCController.h @@ -0,0 +1,43 @@ +#ifndef SWIFTEN_MUCController_H +#define SWIFTEN_MUCController_H + +#include <boost/shared_ptr.hpp> + +#include "Swiften/Base/String.h" +#include "Swift/Controllers/ChatControllerBase.h" +#include "Swiften/Elements/Message.h" +#include "Swiften/Elements/DiscoInfo.h" +#include "Swiften/JID/JID.h" +#include "Swiften/MUC/MUC.h" +#include "Swiften/MUC/MUCOccupant.h" + +namespace Swift { + class StanzaChannel; + class IQRouter; + class ChatWindow; + class ChatWindowFactory; + class Roster; + class TreeWidgetFactory; + + class MUCController : public ChatControllerBase { + public: + MUCController(const JID &muc, const String &nick, StanzaChannel* stanzaChannel, IQRouter* iqRouter, ChatWindowFactory* chatWindowFactory, TreeWidgetFactory *treeWidgetFactory, PresenceOracle* presenceOracle); + ~MUCController(); + + protected: + void preSendMessageRequest(boost::shared_ptr<Message> message); + bool isIncomingMessageFromMe(boost::shared_ptr<Message> message); + String senderDisplayNameFromMessage(JID from); + private: + void handleWindowClosed(); + void handleOccupantJoined(const MUCOccupant& occupant); + void handleOccupantLeft(const MUCOccupant& occupant, MUC::LeavingType type, const String& reason); + void handleOccupantPresenceChange(boost::shared_ptr<Presence> presence); + MUC *muc_; + String nick_; + TreeWidgetFactory *treeWidgetFactory_; + Roster *roster_; + }; +} +#endif + |