diff options
| author | Kevin Smith <git@kismith.co.uk> | 2012-02-06 12:12:00 (GMT) |
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2012-02-06 13:39:43 (GMT) |
| commit | f3d68b13e120f471326449f68aa4140587d444fc (patch) | |
| tree | a13586525ee07d8aff8ec9ec459caf37fd5a941c /Swiften/Elements/MUCUserPayload.h | |
| parent | 42a1bbc568aab7e5b29c7fe16c13659291d01cae (diff) | |
| download | swift-contrib-f3d68b13e120f471326449f68aa4140587d444fc.zip swift-contrib-f3d68b13e120f471326449f68aa4140587d444fc.tar.bz2 | |
Parse mediated invite stuff
Diffstat (limited to 'Swiften/Elements/MUCUserPayload.h')
| -rw-r--r-- | Swiften/Elements/MUCUserPayload.h | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/Swiften/Elements/MUCUserPayload.h b/Swiften/Elements/MUCUserPayload.h index c9ea62c..fcb585e 100644 --- a/Swiften/Elements/MUCUserPayload.h +++ b/Swiften/Elements/MUCUserPayload.h @@ -1,66 +1,95 @@ /* * Copyright (c) 2010 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include <boost/optional.hpp> #include <boost/shared_ptr.hpp> #include <string> #include <vector> #include <Swiften/JID/JID.h> #include <Swiften/Elements/Payload.h> #include <Swiften/Elements/MUCOccupant.h> #include <Swiften/Elements/MUCItem.h> namespace Swift { class MUCUserPayload : public Payload { public: typedef boost::shared_ptr<MUCUserPayload> ref; struct StatusCode { StatusCode() : code(0) {} StatusCode(int code) : code(code) {} int code; }; - // struct Password { + //struct Password { - // } + //} // struct History { // } - // struct Invite { - - // } + /** + * reason is optional. + * from and to are mutually exclusive. + * From is used for MUC sending to invited client. To is used sending to MUC from inviting client. + * from is the JID the MUC claims the invite is from. + * to is the JID to send the invite to. + */ + struct Invite { + std::string reason; + JID from; + JID to; + }; MUCUserPayload() { } void addItem(const MUCItem& item) {items_.push_back(item);} void addStatusCode(StatusCode code) {statusCodes_.push_back(code);} const std::vector<MUCItem>& getItems() const {return items_;} const std::vector<StatusCode>& getStatusCodes() const {return statusCodes_;} boost::shared_ptr<Payload> getPayload() const { return payload_; } void setPayload(boost::shared_ptr<Payload> p) { payload_ = p; } + const boost::optional<std::string>& getPassword() const { + return password_; + } + + void setPassword(const std::string& password) { + password_ = password; + } + + + const boost::optional<Invite>& getInvite() const { + return invite_; + } + + void setInvite(const Invite& invite) { + invite_ = invite; + } + + private: std::vector<MUCItem> items_; std::vector<StatusCode> statusCodes_; boost::shared_ptr<Payload> payload_; + boost::optional<std::string> password_; + boost::optional<Invite> invite_; }; } |
Swift