diff options
Diffstat (limited to 'Swift/Controllers/UIEvents/RequestInviteToMUCUIEvent.h')
-rw-r--r-- | Swift/Controllers/UIEvents/RequestInviteToMUCUIEvent.h | 70 |
1 files changed, 49 insertions, 21 deletions
diff --git a/Swift/Controllers/UIEvents/RequestInviteToMUCUIEvent.h b/Swift/Controllers/UIEvents/RequestInviteToMUCUIEvent.h index 69aa0cd..a8e4bb7 100644 --- a/Swift/Controllers/UIEvents/RequestInviteToMUCUIEvent.h +++ b/Swift/Controllers/UIEvents/RequestInviteToMUCUIEvent.h @@ -4,32 +4,60 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ +/* + * Copyright (c) 2014-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + #pragma once -#include <boost/shared_ptr.hpp> +#include <memory> #include <vector> -#include <Swift/Controllers/UIEvents/UIEvent.h> #include <Swiften/JID/JID.h> -namespace Swift { - class RequestInviteToMUCUIEvent : public UIEvent { - public: - typedef boost::shared_ptr<RequestInviteToMUCUIEvent> ref; - - RequestInviteToMUCUIEvent(const JID& room, const std::vector<JID>& JIDsToInvite) : room_(room), invite_(JIDsToInvite) { - } - - const JID& getRoom() const { - return room_; - } - - const std::vector<JID> getInvites() const { - return invite_; - } +#include <Swift/Controllers/UIEvents/UIEvent.h> - private: - JID room_; - std::vector<JID> invite_; - }; +namespace Swift { + class RequestInviteToMUCUIEvent : public UIEvent { + public: + typedef std::shared_ptr<RequestInviteToMUCUIEvent> ref; + + enum ImpromptuMode { + Impromptu, + NotImpromptu + }; + + /** + * @brief RequestInviteToMUCUIEvent + * @param originator This can be a MUC JID if the user wants to invite + * people to an existing MUC, or a contact JID if this is the + * start of an impromptu group chat. + * @param JIDsToInvite This is a std::vector of JIDs which are prefilled + * in the invite dialog. + * @param impromptu This flag indicates whether it is a normal MUC invite + * or an impromptu MUC invite. + */ + RequestInviteToMUCUIEvent(const JID& originator, const std::vector<JID>& JIDsToInvite, ImpromptuMode impromptu) : originator_(originator), invite_(JIDsToInvite) { + isImpromptu_ = impromptu == Impromptu; + } + + const JID& getOriginator() const { + return originator_; + } + + const std::vector<JID> getInvites() const { + return invite_; + } + + bool isImpromptu() const { + return isImpromptu_; + } + + private: + JID originator_; + std::vector<JID> invite_; + bool isImpromptu_; + }; } |