diff options
author | Tobias Markmann <tm@ayena.de> | 2014-10-24 09:57:13 (GMT) |
---|---|---|
committer | Swift Review <review@swift.im> | 2014-10-30 18:55:14 (GMT) |
commit | 8096f80861667381b777af774cfd446d6fc8cda8 (patch) | |
tree | 46d050b1e678609c241d162b06cc511fba698888 /Swiften/Elements | |
parent | 5cf50d46aed4d2dac333e5e3b3bc2f57f7a1b835 (diff) | |
download | swift-8096f80861667381b777af774cfd446d6fc8cda8.zip swift-8096f80861667381b777af774cfd446d6fc8cda8.tar.bz2 |
Brining XEP-0313 (MAM) implementation in line with version 3.0.
Added support for <fin/> element, including serializer/parsers and unit tests for
them. Added more unit tests based on XEP examples for existing parsers. Removed
unneccesarry includes from existing MAM implementation.
Test-Information:
Existing and new unit tests pass successfully.
Change-Id: I7e6bf85e0961d59801b452e4559cc1db9e9e6ed8
Diffstat (limited to 'Swiften/Elements')
-rw-r--r-- | Swiften/Elements/MAMArchived.h | 29 | ||||
-rw-r--r-- | Swiften/Elements/MAMFin.cpp (renamed from Swiften/Elements/MAMArchived.cpp) | 8 | ||||
-rw-r--r-- | Swiften/Elements/MAMFin.h | 63 | ||||
-rw-r--r-- | Swiften/Elements/MAMQuery.h | 6 | ||||
-rw-r--r-- | Swiften/Elements/MAMResult.h | 3 |
5 files changed, 75 insertions, 34 deletions
diff --git a/Swiften/Elements/MAMArchived.h b/Swiften/Elements/MAMArchived.h deleted file mode 100644 index df83427..0000000 --- a/Swiften/Elements/MAMArchived.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2014 Kevin Smith and Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. - */ - -#pragma once - -#include <boost/optional.hpp> -#include <Swiften/Base/API.h> -#include <Swiften/Elements/Payload.h> -#include <Swiften/JID/JID.h> - -namespace Swift { - class SWIFTEN_API MAMArchived : public Payload { - public: - virtual ~MAMArchived(); - - void setBy(const JID& by) { by_ = by; } - const JID& getBy() const { return by_; } - - void setID(const std::string& id) { id_ = id; } - const std::string& getID() const { return id_; } - - private: - JID by_; - std::string id_; - }; -} diff --git a/Swiften/Elements/MAMArchived.cpp b/Swiften/Elements/MAMFin.cpp index 4ec5750..163ee05 100644 --- a/Swiften/Elements/MAMArchived.cpp +++ b/Swiften/Elements/MAMFin.cpp @@ -4,9 +4,11 @@ * See Documentation/Licenses/GPLv3.txt for more information. */ -#include <Swiften/Elements/MAMArchived.h> +#include <Swiften/Elements/MAMFin.h> -using namespace Swift; +namespace Swift { + +MAMFin::~MAMFin() { +} -MAMArchived::~MAMArchived() { } diff --git a/Swiften/Elements/MAMFin.h b/Swiften/Elements/MAMFin.h new file mode 100644 index 0000000..5393230 --- /dev/null +++ b/Swiften/Elements/MAMFin.h @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2014 Kevin Smith and Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <string> + +#include <boost/shared_ptr.hpp> +#include <boost/optional.hpp> + +#include <Swiften/Base/API.h> +#include <Swiften/Elements/Payload.h> +#include <Swiften/Elements/ResultSet.h> + +namespace Swift { + class SWIFTEN_API MAMFin : public Payload { + public: + MAMFin() : isComplete_(false), isStable_(true) {} + virtual ~MAMFin(); + + void setComplete(const bool isComplete) { + isComplete_ = isComplete; + } + + bool isComplete() const { + return isComplete_; + } + + void setStable(const bool isStable) { + isStable_ = isStable; + } + + bool isStable() const { + return isStable_; + } + + void setResultSet(boost::shared_ptr<ResultSet> resultSet) { + resultSet_ = resultSet; + } + + boost::shared_ptr<ResultSet> getResultSet() const { + return resultSet_; + } + + void setQueryID(const std::string& queryID) { + queryID_ = queryID; + } + + const boost::optional<std::string>& getQueryID() const { + return queryID_; + } + + + private: + bool isComplete_; + bool isStable_; + boost::shared_ptr<ResultSet> resultSet_; + boost::optional<std::string> queryID_; + }; +} diff --git a/Swiften/Elements/MAMQuery.h b/Swiften/Elements/MAMQuery.h index 3f3724e..09b5af0 100644 --- a/Swiften/Elements/MAMQuery.h +++ b/Swiften/Elements/MAMQuery.h @@ -6,11 +6,13 @@ #pragma once +#include <string> + +#include <boost/shared_ptr.hpp> #include <boost/optional.hpp> + #include <Swiften/Base/API.h> #include <Swiften/Elements/Form.h> -#include <Swiften/Elements/Forwarded.h> -#include <Swiften/Elements/MAMResult.h> #include <Swiften/Elements/Payload.h> #include <Swiften/Elements/ResultSet.h> diff --git a/Swiften/Elements/MAMResult.h b/Swiften/Elements/MAMResult.h index 7d43902..17c7527 100644 --- a/Swiften/Elements/MAMResult.h +++ b/Swiften/Elements/MAMResult.h @@ -6,7 +6,10 @@ #pragma once +#include <string> + #include <boost/optional.hpp> + #include <Swiften/Base/API.h> #include <Swiften/Elements/ContainerPayload.h> #include <Swiften/Elements/Forwarded.h> |