diff options
| author | Tobias Markmann <tm@ayena.de> | 2012-10-08 21:59:42 (GMT) | 
|---|---|---|
| committer | Tobias Markmann <tm@ayena.de> | 2012-10-08 22:04:15 (GMT) | 
| commit | 8f75cf3d9892a3ce2c58537f29c851392231e29c (patch) | |
| tree | 5239ce98c3e24780ba46d328f383c90cb84b35c7 /Swiften/Elements | |
| parent | 53b7a6ad2d12fc5edc6a98726cabf1ea0b496505 (diff) | |
| download | swift-contrib-tobias/jingle.zip swift-contrib-tobias/jingle.tar.bz2 | |
Update XEP-0234 implementation to version 0.15 of the standard.tobias/jingle
Diffstat (limited to 'Swiften/Elements')
| -rw-r--r-- | Swiften/Elements/JingleFileTransferDescription.h | 14 | ||||
| -rw-r--r-- | Swiften/Elements/JingleFileTransferFileInfo.h | 113 | ||||
| -rw-r--r-- | Swiften/Elements/JingleFileTransferReceived.h | 8 | 
3 files changed, 124 insertions, 11 deletions
| diff --git a/Swiften/Elements/JingleFileTransferDescription.h b/Swiften/Elements/JingleFileTransferDescription.h index 04f3f1f..bdd5aae 100644 --- a/Swiften/Elements/JingleFileTransferDescription.h +++ b/Swiften/Elements/JingleFileTransferDescription.h @@ -10,32 +10,32 @@  #include <vector>  #include <Swiften/Elements/JingleDescription.h> -#include <Swiften/Elements/StreamInitiationFileInfo.h> +#include <Swiften/Elements/JingleFileTransferFileInfo.h>  namespace Swift {  	class JingleFileTransferDescription : public JingleDescription {  		public:  			typedef boost::shared_ptr<JingleFileTransferDescription> ref; -			void addOffer(const StreamInitiationFileInfo& offer) { +			void addOffer(const JingleFileTransferFileInfo& offer) {  				offers.push_back(offer);  			} -			const std::vector<StreamInitiationFileInfo>& getOffers() const { +			const std::vector<JingleFileTransferFileInfo>& getOffers() const {  				return offers;  			} -			void addRequest(const StreamInitiationFileInfo& request) { +			void addRequest(const JingleFileTransferFileInfo& request) {  				reqeusts.push_back(request);  			} -			const std::vector<StreamInitiationFileInfo>& getRequests() const { +			const std::vector<JingleFileTransferFileInfo>& getRequests() const {  				return reqeusts;  			}  		private: -			std::vector<StreamInitiationFileInfo> offers; -			std::vector<StreamInitiationFileInfo> reqeusts; +			std::vector<JingleFileTransferFileInfo> offers; +			std::vector<JingleFileTransferFileInfo> reqeusts;  	};  } diff --git a/Swiften/Elements/JingleFileTransferFileInfo.h b/Swiften/Elements/JingleFileTransferFileInfo.h new file mode 100644 index 0000000..a174df0 --- /dev/null +++ b/Swiften/Elements/JingleFileTransferFileInfo.h @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2012 Tobias Markmann + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <Swiften/Elements/Payload.h> +#include <boost/shared_ptr.hpp> +#include <boost/date_time/posix_time/posix_time_types.hpp> +#include <Swiften/Elements/StreamInitiationFileInfo.h> + +#include <string> + +namespace Swift { + +class JingleFileTransferFileInfo : public Payload { +public: +	typedef boost::shared_ptr<JingleFileTransferFileInfo> ref; +	 +public: +	JingleFileTransferFileInfo(const std::string& name = "", const std::string& description = "", int size = 0, +				 const std::string& hash = "", const boost::posix_time::ptime &date = boost::posix_time::ptime(), const std::string& algo="md5") :  +		name(name), description(description), size(size), hash(hash), date(date), algo(algo), supportsRangeRequests(false), rangeOffset(0) {} +	JingleFileTransferFileInfo(const StreamInitiationFileInfo& siFileInfo) { +		this->name = siFileInfo.getName(); +		this->description = siFileInfo.getDescription(); +		this->size = siFileInfo.getSize(); +		this->hash = siFileInfo.getHash(); +		this->date = siFileInfo.getDate(); +		this->algo = siFileInfo.getAlgo(); +		this->supportsRangeRequests = siFileInfo.getSupportsRangeRequests(); +		this->rangeOffset = siFileInfo.getRangeOffset(); +	} + +	void setName(const std::string& name) { +		this->name = name;; +	} +	 +	const std::string& getName() const { +		return this->name; +	} +	 +	void setDescription(const std::string& description) { +		this->description = description; +	} +	 +	const std::string& getDescription() const { +		return this->description; +	} +	 +	void setSize(const boost::uintmax_t size) { +		this->size = size; +	} +	 +	boost::uintmax_t getSize() const { +		return this->size; +	} +	 +	void setHash(const std::string& hash) { +		this->hash = hash; +	} +	 +	const std::string& getHash() const { +		return this->hash; +	} +	 +	void setDate(const boost::posix_time::ptime& date) { +		this->date = date; +	} +	 +	const boost::posix_time::ptime& getDate() const { +		return this->date; +	} +	 +	void setAlgo(const std::string& algo) { +		this->algo = algo; +	} +	 +	const std::string& getAlgo() const { +		return this->algo; +	} +	 +	void setSupportsRangeRequests(const bool supportsIt) { +		supportsRangeRequests = supportsIt; +	} +	 +	bool getSupportsRangeRequests() const { +		return supportsRangeRequests; +	} +	 +	void setRangeOffset(const int offset) { +		supportsRangeRequests = offset >= 0 ? true : false; +		rangeOffset = offset; +	} +	 +	boost::uintmax_t getRangeOffset() const { +		return rangeOffset; +	} + +private: +	std::string name; +	std::string description; +	boost::uintmax_t size; +	std::string hash; +	boost::posix_time::ptime date; +	std::string algo; +	bool supportsRangeRequests; +	boost::uintmax_t rangeOffset; +}; + +} diff --git a/Swiften/Elements/JingleFileTransferReceived.h b/Swiften/Elements/JingleFileTransferReceived.h index 75c95d9..0a65088 100644 --- a/Swiften/Elements/JingleFileTransferReceived.h +++ b/Swiften/Elements/JingleFileTransferReceived.h @@ -9,7 +9,7 @@  #include <boost/shared_ptr.hpp>  #include <vector> -#include <Swiften/Elements/StreamInitiationFileInfo.h> +#include <Swiften/Elements/JingleFileTransferFileInfo.h>  #include <Swiften/Elements/Payload.h>  namespace Swift { @@ -18,15 +18,15 @@ class JingleFileTransferReceived : public Payload {  	public:  		typedef boost::shared_ptr<JingleFileTransferReceived> ref; -		void setFileInfo(const StreamInitiationFileInfo& fileInfo) { +		void setFileInfo(const JingleFileTransferFileInfo& fileInfo) {  			this->fileInfo = fileInfo;  		} -		const StreamInitiationFileInfo& getFileInfo() const { +		const JingleFileTransferFileInfo& getFileInfo() const {  			return this->fileInfo;  		}  	private: -		StreamInitiationFileInfo fileInfo; +		JingleFileTransferFileInfo fileInfo;  }; | 
 Swift
 Swift