diff options
Diffstat (limited to 'Swiften/Elements')
32 files changed, 155 insertions, 116 deletions
| diff --git a/Swiften/Elements/Body.h b/Swiften/Elements/Body.h index 2887390..a2497f7 100644 --- a/Swiften/Elements/Body.h +++ b/Swiften/Elements/Body.h @@ -6,14 +6,13 @@  #pragma once -#include "Swiften/Elements/Payload.h"  #include <string> +#include <Swiften/Elements/Payload.h> +  namespace Swift {  	class Body : public Payload {  		public: -			typedef boost::shared_ptr<Body> ref; -  			Body(const std::string& text = "") : text_(text) {  			} diff --git a/Swiften/Elements/Bytestreams.h b/Swiften/Elements/Bytestreams.h index b493375..211396b 100644 --- a/Swiften/Elements/Bytestreams.h +++ b/Swiften/Elements/Bytestreams.h @@ -9,9 +9,9 @@  #include <vector>  #include <boost/optional.hpp>  #include <boost/shared_ptr.hpp> +#include <string>  #include "Swiften/JID/JID.h" -#include <string>  #include "Swiften/Elements/Payload.h"  namespace Swift { diff --git a/Swiften/Elements/CapsInfo.h b/Swiften/Elements/CapsInfo.h index ccad278..f1e2c37 100644 --- a/Swiften/Elements/CapsInfo.h +++ b/Swiften/Elements/CapsInfo.h @@ -7,8 +7,8 @@  #pragma once  #include <boost/shared_ptr.hpp> -  #include <string> +  #include "Swiften/Elements/Payload.h"  namespace Swift { diff --git a/Swiften/Elements/ChatState.h b/Swiften/Elements/ChatState.h index 2896877..ddeed79 100644 --- a/Swiften/Elements/ChatState.h +++ b/Swiften/Elements/ChatState.h @@ -7,6 +7,7 @@  #pragma once  #include <string> +  #include "Swiften/Elements/Payload.h"  namespace Swift { diff --git a/Swiften/Elements/Command.h b/Swiften/Elements/Command.h index f4059a8..4a9c2a3 100644 --- a/Swiften/Elements/Command.h +++ b/Swiften/Elements/Command.h @@ -7,8 +7,8 @@  #pragma once  #include <boost/shared_ptr.hpp> -  #include <string> +  #include "Swiften/Elements/Payload.h"  #include "Swiften/Elements/Form.h" diff --git a/Swiften/Elements/ComponentHandshake.h b/Swiften/Elements/ComponentHandshake.h index 6047eab..3fe0457 100644 --- a/Swiften/Elements/ComponentHandshake.h +++ b/Swiften/Elements/ComponentHandshake.h @@ -7,9 +7,9 @@  #pragma once  #include <boost/shared_ptr.hpp> +#include <string>  #include "Swiften/Elements/Element.h" -#include <string>  namespace Swift {  	class ComponentHandshake : public Element { diff --git a/Swiften/Elements/Delay.h b/Swiften/Elements/Delay.h index 3213037..85d167b 100644 --- a/Swiften/Elements/Delay.h +++ b/Swiften/Elements/Delay.h @@ -6,7 +6,7 @@  #pragma once -#include <boost/date_time/posix_time/posix_time.hpp> +#include <boost/date_time/posix_time/posix_time_types.hpp>  #include <boost/optional.hpp>  #include "Swiften/Elements/Payload.h" diff --git a/Swiften/Elements/DiscoInfo.cpp b/Swiften/Elements/DiscoInfo.cpp index f0e728e..158ea66 100644 --- a/Swiften/Elements/DiscoInfo.cpp +++ b/Swiften/Elements/DiscoInfo.cpp @@ -6,6 +6,8 @@  #include "Swiften/Elements/DiscoInfo.h" +#include <algorithm> +  namespace Swift {  const std::string DiscoInfo::ChatStatesFeature = std::string("http://jabber.org/protocol/chatstates"); @@ -33,4 +35,8 @@ bool DiscoInfo::Identity::operator<(const Identity& other) const {  	}  } +bool DiscoInfo::hasFeature(const std::string& feature) const { +	return std::find(features_.begin(), features_.end(), feature) != features_.end(); +} +  } diff --git a/Swiften/Elements/DiscoInfo.h b/Swiften/Elements/DiscoInfo.h index d5bf64a..6144b16 100644 --- a/Swiften/Elements/DiscoInfo.h +++ b/Swiften/Elements/DiscoInfo.h @@ -7,11 +7,9 @@  #pragma once  #include <vector> -#include <algorithm> - -#include "Swiften/Elements/Payload.h"  #include <string> +#include "Swiften/Elements/Payload.h"  #include "Swiften/Elements/Form.h"  namespace Swift { @@ -82,9 +80,7 @@ namespace Swift {  				features_.push_back(feature);  			} -			bool hasFeature(const std::string& feature) const { -				return std::find(features_.begin(), features_.end(), feature) != features_.end(); -			} +			bool hasFeature(const std::string& feature) const;  			void addExtension(Form::ref form) {  				extensions_.push_back(form); diff --git a/Swiften/Elements/DiscoItems.h b/Swiften/Elements/DiscoItems.h index cc5a583..1b7063b 100644 --- a/Swiften/Elements/DiscoItems.h +++ b/Swiften/Elements/DiscoItems.h @@ -7,10 +7,9 @@  #pragma once  #include <vector> -#include <algorithm> +#include <string>  #include "Swiften/Elements/Payload.h" -#include <string>  #include "Swiften/JID/JID.h"  namespace Swift { diff --git a/Swiften/Elements/Element.h b/Swiften/Elements/Element.h index aded528..1e6a9d0 100644 --- a/Swiften/Elements/Element.h +++ b/Swiften/Elements/Element.h @@ -4,8 +4,7 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#ifndef SWIFTEN_ELEMENT_H -#define SWIFTEN_ELEMENT_H +#pragma once  namespace Swift {  	class Element { @@ -13,5 +12,3 @@ namespace Swift {  			virtual ~Element();  	};  } - -#endif diff --git a/Swiften/Elements/ErrorPayload.h b/Swiften/Elements/ErrorPayload.h index 12ad574..cece81f 100644 --- a/Swiften/Elements/ErrorPayload.h +++ b/Swiften/Elements/ErrorPayload.h @@ -7,9 +7,9 @@  #pragma once  #include <boost/shared_ptr.hpp> +#include <string>  #include "Swiften/Elements/Payload.h" -#include <string>  namespace Swift {  	class ErrorPayload : public Payload { diff --git a/Swiften/Elements/Form.h b/Swiften/Elements/Form.h index 1c50f0c..4e6e9f1 100644 --- a/Swiften/Elements/Form.h +++ b/Swiften/Elements/Form.h @@ -7,11 +7,10 @@  #pragma once  #include <vector> +#include <string>  #include "Swiften/Elements/Payload.h"  #include "Swiften/Elements/FormField.h" -#include <string> -  #include "Swiften/JID/JID.h"  namespace Swift { diff --git a/Swiften/Elements/FormField.h b/Swiften/Elements/FormField.h index f455303..35e05ac 100644 --- a/Swiften/Elements/FormField.h +++ b/Swiften/Elements/FormField.h @@ -11,8 +11,8 @@  #include <vector>  #include <boost/shared_ptr.hpp> -  #include <string> +  #include "Swiften/JID/JID.h"  namespace Swift { diff --git a/Swiften/Elements/IBB.h b/Swiften/Elements/IBB.h index 55f2c4f..faee71d 100644 --- a/Swiften/Elements/IBB.h +++ b/Swiften/Elements/IBB.h @@ -7,8 +7,8 @@  #pragma once  #include <boost/shared_ptr.hpp> -  #include <string> +  #include "Swiften/Base/ByteArray.h"  #include "Swiften/Elements/Payload.h" diff --git a/Swiften/Elements/InBandRegistrationPayload.h b/Swiften/Elements/InBandRegistrationPayload.h index e4e1e6f..6e0f741 100644 --- a/Swiften/Elements/InBandRegistrationPayload.h +++ b/Swiften/Elements/InBandRegistrationPayload.h @@ -8,10 +8,10 @@  #include <boost/shared_ptr.hpp>  #include <boost/optional.hpp> +#include <string>  #include "Swiften/Elements/Payload.h"  #include "Swiften/Elements/Form.h" -#include <string>  namespace Swift {  	class InBandRegistrationPayload : public Payload { diff --git a/Swiften/Elements/JingleContent.h b/Swiften/Elements/JingleContent.h index 4ae908b..97b071f 100644 --- a/Swiften/Elements/JingleContent.h +++ b/Swiften/Elements/JingleContent.h @@ -8,13 +8,12 @@  #include <vector>  #include <boost/optional.hpp> -  #include <string> +  #include <Swiften/JID/JID.h>  #include <Swiften/Elements/Payload.h>  #include <Swiften/Elements/JingleDescription.h>  #include <Swiften/Elements/JingleTransport.h> -#include <Swiften/Base/foreach.h>  namespace Swift {  	class JingleContent : public Payload { @@ -49,18 +48,18 @@ namespace Swift {  				descriptions.push_back(description);  			} -			const std::vector<JingleTransport::ref>& getTransports() const { +			const std::vector<boost::shared_ptr<JingleTransportPayload> >& getTransports() const {  				return transports;  			} -			void addTransport(JingleTransport::ref transport) { +			void addTransport(boost::shared_ptr<JingleTransportPayload>  transport) {  				transports.push_back(transport);  			}  			template<typename T>  			boost::shared_ptr<T> getDescription() const { -				foreach (JingleDescription::ref i, descriptions) { -					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(i)); +				for (size_t i = 0; i < descriptions.size(); ++i) { +					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(descriptions[i]));  					if (result) {  						return result;  					} @@ -70,8 +69,8 @@ namespace Swift {  			template<typename T>  			boost::shared_ptr<T> getTransport() const { -				foreach (JingleTransport::ref i, transports) { -					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(i)); +				for (size_t i = 0; i < transports.size(); ++i) { +					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(transports[i]));  					if (result) {  						return result;  					} @@ -84,6 +83,10 @@ namespace Swift {  			std::string name;  			//Senders senders;  			std::vector<JingleDescription::ref> descriptions; +<<<<<<< HEAD:Swiften/Elements/JingleContent.h  			std::vector<JingleTransport::ref> transports; +======= +			std::vector<boost::shared_ptr<JingleTransportPayload> > transports; +>>>>>>> 7c05f3f... Cleaned up headers.:Swiften/Elements/JingleContentPayload.h  	};  } diff --git a/Swiften/Elements/JingleTransport.h b/Swiften/Elements/JingleTransport.h index ecd2a34..7a9ea29 100644 --- a/Swiften/Elements/JingleTransport.h +++ b/Swiften/Elements/JingleTransport.h @@ -6,9 +6,13 @@  #pragma once +#include <boost/shared_ptr.hpp> +  #include <Swiften/Elements/Payload.h>  namespace Swift { -	class JingleTransport : public Payload { +	class JingleTransportPayload : public Payload { +		public: +			typedef boost::shared_ptr<JingleTransportPayload> ref;  	};  } diff --git a/Swiften/Elements/MUCPayload.h b/Swiften/Elements/MUCPayload.h index c372360..eb3baeb 100644 --- a/Swiften/Elements/MUCPayload.h +++ b/Swiften/Elements/MUCPayload.h @@ -7,7 +7,7 @@  #pragma once  #include <boost/optional.hpp> -#include <boost/date_time/posix_time/posix_time.hpp> +#include <boost/date_time/posix_time/posix_time_types.hpp>  #include "Swiften/JID/JID.h"  #include <string> diff --git a/Swiften/Elements/Payload.h b/Swiften/Elements/Payload.h index c87b899..8b6d44a 100644 --- a/Swiften/Elements/Payload.h +++ b/Swiften/Elements/Payload.h @@ -6,13 +6,9 @@  #pragma once -#include <boost/shared_ptr.hpp> -  namespace Swift {  	class Payload {  		public: -			typedef boost::shared_ptr<Payload> ref; -  			virtual ~Payload();  	};  } diff --git a/Swiften/Elements/Presence.cpp b/Swiften/Elements/Presence.cpp new file mode 100644 index 0000000..6cde567 --- /dev/null +++ b/Swiften/Elements/Presence.cpp @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <Swiften/Elements/Presence.h> + +#include <Swiften/Elements/Priority.h> +#include <Swiften/Elements/Status.h> + +namespace Swift { + +Presence::Presence() : type_(Available) /*, showType_(Online)*/ { +} + +Presence::Presence(const std::string& status) : type_(Available) { +	setStatus(status); +} + +Presence::~Presence() { +} + +int Presence::getPriority() const { +	boost::shared_ptr<Priority> priority(getPayload<Priority>()); +	return (priority ? priority->getPriority() : 0); +} + +void Presence::setPriority(int priority) { +	updatePayload(boost::shared_ptr<Priority>(new Priority(priority))); +} + +std::string Presence::getStatus() const {  +	boost::shared_ptr<Status> status(getPayload<Status>()); +	if (status) { +		return status->getText(); +	} +	return ""; +} + +void Presence::setStatus(const std::string& status) {  +	updatePayload(boost::shared_ptr<Status>(new Status(status))); +} + + +} diff --git a/Swiften/Elements/Presence.h b/Swiften/Elements/Presence.h index 7f957ba..5ae482b 100644 --- a/Swiften/Elements/Presence.h +++ b/Swiften/Elements/Presence.h @@ -6,11 +6,8 @@  #pragma once - -#include "Swiften/Elements/Stanza.h" -#include "Swiften/Elements/Status.h" -#include "Swiften/Elements/StatusShow.h" -#include "Swiften/Elements/Priority.h" +#include <Swiften/Elements/Stanza.h> +#include <Swiften/Elements/StatusShow.h>  namespace Swift {  	class Presence : public Stanza { @@ -19,10 +16,9 @@ namespace Swift {  			enum Type { Available, Error, Probe, Subscribe, Subscribed, Unavailable, Unsubscribe, Unsubscribed }; -			Presence() : type_(Available) /*, showType_(Online)*/ {} -			Presence(const std::string& status) : type_(Available) { -				setStatus(status); -			} +			Presence(); +			Presence(const std::string& status); +			virtual ~Presence();  			static ref create() {  				return ref(new Presence()); @@ -51,26 +47,11 @@ namespace Swift {  				updatePayload(boost::shared_ptr<StatusShow>(new StatusShow(show)));  			} -			std::string getStatus() const {  -				boost::shared_ptr<Status> status(getPayload<Status>()); -				if (status) { -					return status->getText(); -				} -				return ""; -			} +			std::string getStatus() const; +			void setStatus(const std::string& status); -			void setStatus(const std::string& status) {  -				updatePayload(boost::shared_ptr<Status>(new Status(status))); -			} - -			int getPriority() const { -				boost::shared_ptr<Priority> priority(getPayload<Priority>()); -				return (priority ? priority->getPriority() : 0); -			} - -			void setPriority(int priority) { -				updatePayload(boost::shared_ptr<Priority>(new Priority(priority))); -			} +			int getPriority() const; +			void setPriority(int priority);  			boost::shared_ptr<Presence> clone() const {  				return boost::shared_ptr<Presence>(new Presence(*this)); diff --git a/Swiften/Elements/Priority.h b/Swiften/Elements/Priority.h index 12181d4..2c0cb9b 100644 --- a/Swiften/Elements/Priority.h +++ b/Swiften/Elements/Priority.h @@ -6,13 +6,11 @@  #pragma once -#include "Swiften/Elements/Payload.h" +#include <Swiften/Elements/Payload.h>  namespace Swift {  	class Priority : public Payload {  		public: -			typedef boost::shared_ptr<Priority> ref; -  			Priority(int priority = 0) : priority_(priority) {  			} diff --git a/Swiften/Elements/SecurityLabelsCatalog.h b/Swiften/Elements/SecurityLabelsCatalog.h index 10ef459..cd84b0b 100644 --- a/Swiften/Elements/SecurityLabelsCatalog.h +++ b/Swiften/Elements/SecurityLabelsCatalog.h @@ -4,13 +4,13 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#ifndef SWIFTEN_SecurityLabelsCatalog_H -#define SWIFTEN_SecurityLabelsCatalog_H +#pragma once  #include <vector> +#include <string> +#include <boost/shared_ptr.hpp>  #include "Swiften/JID/JID.h" -#include <string>  #include "Swiften/Elements/Payload.h"  #include "Swiften/Elements/SecurityLabel.h" @@ -85,5 +85,3 @@ namespace Swift {  			std::vector<Item> items_;  	};  } - -#endif diff --git a/Swiften/Elements/SoftwareVersion.h b/Swiften/Elements/SoftwareVersion.h index 5863b38..887c6e9 100644 --- a/Swiften/Elements/SoftwareVersion.h +++ b/Swiften/Elements/SoftwareVersion.h @@ -6,8 +6,10 @@  #pragma once -#include "Swiften/Elements/Payload.h"  #include <string> +#include <boost/shared_ptr.hpp> + +#include "Swiften/Elements/Payload.h"  namespace Swift {  	class SoftwareVersion : public Payload { diff --git a/Swiften/Elements/Stanza.cpp b/Swiften/Elements/Stanza.cpp index d15d778..607dfd1 100644 --- a/Swiften/Elements/Stanza.cpp +++ b/Swiften/Elements/Stanza.cpp @@ -9,8 +9,13 @@  #include <typeinfo> +#include <Swiften/Base/foreach.h> +  namespace Swift { +Stanza::Stanza() { +} +	  Stanza::~Stanza() {  	payloads_.clear();  } diff --git a/Swiften/Elements/Stanza.h b/Swiften/Elements/Stanza.h index 9b934e4..9e082cc 100644 --- a/Swiften/Elements/Stanza.h +++ b/Swiften/Elements/Stanza.h @@ -7,27 +7,28 @@  #pragma once  #include <vector> +#include <string>  #include <boost/shared_ptr.hpp> -#include <boost/optional.hpp> -#include <boost/date_time/posix_time/posix_time.hpp> +#include <boost/optional/optional_fwd.hpp> +#include <boost/date_time/posix_time/ptime.hpp> -#include "Swiften/Elements/Element.h" -#include "Swiften/Elements/Payload.h" -#include <string> -#include "Swiften/Base/foreach.h" -#include "Swiften/JID/JID.h" +#include <Swiften/Elements/Element.h> +#include <Swiften/JID/JID.h>  namespace Swift { +	class Payload; +  	class Stanza : public Element {  		public:  			typedef boost::shared_ptr<Stanza> ref; +			Stanza();  			virtual ~Stanza();  			template<typename T>   			boost::shared_ptr<T> getPayload() const { -				foreach (const boost::shared_ptr<Payload>& i, payloads_) { -					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(i)); +				for (size_t i = 0; i < payloads_.size(); ++i) { +					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(payloads_[i]));  					if (result) {  						return result;  					} @@ -38,8 +39,8 @@ namespace Swift {  			template<typename T>   			std::vector< boost::shared_ptr<T> > getPayloads() const {  				std::vector< boost::shared_ptr<T> > results; -				foreach (const boost::shared_ptr<Payload>& i, payloads_) { -					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(i)); +				for (size_t i = 0; i < payloads_.size(); ++i) { +					boost::shared_ptr<T> result(boost::dynamic_pointer_cast<T>(payloads_[i]));  					if (result) {  						results.push_back(result);  					} @@ -78,8 +79,6 @@ namespace Swift {  			std::string id_;  			JID from_;  			JID to_; - -			typedef std::vector< boost::shared_ptr<Payload> > Payloads; -			Payloads payloads_; +			std::vector< boost::shared_ptr<Payload> > payloads_;  	};  } diff --git a/Swiften/Elements/Status.h b/Swiften/Elements/Status.h index 3ef6401..bb9b6e9 100644 --- a/Swiften/Elements/Status.h +++ b/Swiften/Elements/Status.h @@ -4,8 +4,7 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#ifndef SWIFTEN_Status_H -#define SWIFTEN_Status_H +#pragma once  #include "Swiften/Elements/Payload.h"  #include <string> @@ -28,5 +27,3 @@ namespace Swift {  			std::string text_;  	};  } - -#endif diff --git a/Swiften/Elements/StatusShow.h b/Swiften/Elements/StatusShow.h index a158239..6ea8385 100644 --- a/Swiften/Elements/StatusShow.h +++ b/Swiften/Elements/StatusShow.h @@ -4,11 +4,9 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#ifndef SWIFTEN_StatusShow_H -#define SWIFTEN_StatusShow_H +#pragma once -#include "Swiften/Elements/Payload.h" -#include <string> +#include <Swiften/Elements/Payload.h>  namespace Swift {  	class StatusShow : public Payload { @@ -32,19 +30,16 @@ namespace Swift {  			 */  			static int typeToAvailabilityOrdering(Type type) {  				switch (type) { -				case Online: return 4; -				case FFC: return 5; -				case Away: return 2; -				case XA: return 1; -				case DND: return 3; -				case None: return 0; +					case Online: return 4; +					case FFC: return 5; +					case Away: return 2; +					case XA: return 1; +					case DND: return 3; +					case None: return 0;  				} -				return -1;  			}  		private:  			Type type_;  	};  } - -#endif diff --git a/Swiften/Elements/StreamFeatures.cpp b/Swiften/Elements/StreamFeatures.cpp new file mode 100644 index 0000000..c6f6c04 --- /dev/null +++ b/Swiften/Elements/StreamFeatures.cpp @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#include <Swiften/Elements/StreamFeatures.h> + +#include <algorithm> + +namespace Swift { + +bool StreamFeatures::hasCompressionMethod(const std::string& mechanism) const { +	return std::find(compressionMethods_.begin(), compressionMethods_.end(), mechanism) != compressionMethods_.end(); +} + +bool StreamFeatures::hasAuthenticationMechanism(const std::string& mechanism) const { +	return std::find(authenticationMechanisms_.begin(), authenticationMechanisms_.end(), mechanism) != authenticationMechanisms_.end(); +} + +} diff --git a/Swiften/Elements/StreamFeatures.h b/Swiften/Elements/StreamFeatures.h index fbc0bb8..4bb21f0 100644 --- a/Swiften/Elements/StreamFeatures.h +++ b/Swiften/Elements/StreamFeatures.h @@ -7,9 +7,9 @@  #pragma once  #include <vector> -#include <algorithm> -  #include <string> +#include <boost/shared_ptr.hpp> +  #include "Swiften/Elements/Element.h"  namespace Swift { @@ -51,9 +51,7 @@ namespace Swift {  				compressionMethods_.push_back(mechanism);  			} -			bool hasCompressionMethod(const std::string& mechanism) const { -				return std::find(compressionMethods_.begin(), compressionMethods_.end(), mechanism) != compressionMethods_.end(); -			} +			bool hasCompressionMethod(const std::string& mechanism) const;  			const std::vector<std::string>& getAuthenticationMechanisms() const {  				return authenticationMechanisms_; @@ -63,9 +61,7 @@ namespace Swift {  				authenticationMechanisms_.push_back(mechanism);  			} -			bool hasAuthenticationMechanism(const std::string& mechanism) const { -				return std::find(authenticationMechanisms_.begin(), authenticationMechanisms_.end(), mechanism) != authenticationMechanisms_.end(); -			} +			bool hasAuthenticationMechanism(const std::string& mechanism) const;  			bool hasAuthenticationMechanisms() const {  				return !authenticationMechanisms_.empty(); diff --git a/Swiften/Elements/UnitTest/StanzaTest.cpp b/Swiften/Elements/UnitTest/StanzaTest.cpp index 4020f8b..4669f16 100644 --- a/Swiften/Elements/UnitTest/StanzaTest.cpp +++ b/Swiften/Elements/UnitTest/StanzaTest.cpp @@ -7,6 +7,7 @@  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h>  #include <boost/shared_ptr.hpp> +#include <boost/date_time/posix_time/posix_time.hpp>  #include "Swiften/Elements/Stanza.h"  #include "Swiften/Elements/Payload.h" | 
 Swift
 Swift