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 | |
| parent | 42a1bbc568aab7e5b29c7fe16c13659291d01cae (diff) | |
| download | swift-contrib-f3d68b13e120f471326449f68aa4140587d444fc.zip swift-contrib-f3d68b13e120f471326449f68aa4140587d444fc.tar.bz2 | |
Parse mediated invite stuff
Diffstat (limited to 'Swiften/Elements')
| -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
 Swift