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 /Sluift | |
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 'Sluift')
-rw-r--r-- | Sluift/ElementConvertors/MAMArchivedConvertor.cpp | 54 | ||||
-rw-r--r-- | Sluift/ElementConvertors/MAMArchivedConvertor.h | 29 | ||||
-rw-r--r-- | Sluift/ElementConvertors/SConscript | 1 | ||||
-rw-r--r-- | Sluift/LuaElementConvertors.cpp | 2 |
4 files changed, 0 insertions, 86 deletions
diff --git a/Sluift/ElementConvertors/MAMArchivedConvertor.cpp b/Sluift/ElementConvertors/MAMArchivedConvertor.cpp deleted file mode 100644 index 39ac7df..0000000 --- a/Sluift/ElementConvertors/MAMArchivedConvertor.cpp +++ /dev/null @@ -1,54 +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. - */ - -#include <boost/numeric/conversion/cast.hpp> -#include <boost/smart_ptr/make_shared.hpp> -#include <lua.hpp> -#include <Sluift/ElementConvertors/MAMArchivedConvertor.h> - -#pragma clang diagnostic ignored "-Wunused-private-field" - -using namespace Swift; - -MAMArchivedConvertor::MAMArchivedConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<MAMArchived>("mam_archived"), - convertors(convertors) { -} - -MAMArchivedConvertor::~MAMArchivedConvertor() { -} - -boost::shared_ptr<MAMArchived> MAMArchivedConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<MAMArchived> result = boost::make_shared<MAMArchived>(); - lua_getfield(L, -1, "by"); - if (lua_isstring(L, -1)) { - result->setBy(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "id"); - if (lua_isstring(L, -1)) { - result->setID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; -} - -void MAMArchivedConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<MAMArchived> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getBy().toString().c_str()); - lua_setfield(L, -2, "by"); - lua_pushstring(L, payload->getID().c_str()); - lua_setfield(L, -2, "id"); -} - -boost::optional<LuaElementConvertor::Documentation> MAMArchivedConvertor::getDocumentation() const { - return Documentation( - "MAMArchived", - "This table has the following fields:\n\n" - "- `by`: string\n" - "- `id`: string\n" - ); -} diff --git a/Sluift/ElementConvertors/MAMArchivedConvertor.h b/Sluift/ElementConvertors/MAMArchivedConvertor.h deleted file mode 100644 index 9d95e4a..0000000 --- a/Sluift/ElementConvertors/MAMArchivedConvertor.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 <Sluift/GenericLuaElementConvertor.h> -#include <Swiften/Base/Override.h> -#include <Swiften/Elements/MAMArchived.h> - -namespace Swift { - class LuaElementConvertors; - - class MAMArchivedConvertor : public GenericLuaElementConvertor<MAMArchived> { - public: - MAMArchivedConvertor(LuaElementConvertors* convertors); - virtual ~MAMArchivedConvertor(); - - virtual boost::shared_ptr<MAMArchived> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMArchived>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - - private: - LuaElementConvertors* convertors; - }; -} - diff --git a/Sluift/ElementConvertors/SConscript b/Sluift/ElementConvertors/SConscript index 5ff5379..33d40ab 100644 --- a/Sluift/ElementConvertors/SConscript +++ b/Sluift/ElementConvertors/SConscript @@ -47,7 +47,6 @@ convertors = [ env.File("ForwardedConvertor.cpp"), env.File("MAMResultConvertor.cpp"), env.File("MAMQueryConvertor.cpp"), - env.File("MAMArchivedConvertor.cpp"), env.File("SubjectConvertor.cpp"), env.File("IsodeIQDelegationConvertor.cpp") ] diff --git a/Sluift/LuaElementConvertors.cpp b/Sluift/LuaElementConvertors.cpp index 253a820..d2af664 100644 --- a/Sluift/LuaElementConvertors.cpp +++ b/Sluift/LuaElementConvertors.cpp @@ -33,7 +33,6 @@ #include <Sluift/ElementConvertors/ForwardedConvertor.h> #include <Sluift/ElementConvertors/MAMResultConvertor.h> #include <Sluift/ElementConvertors/MAMQueryConvertor.h> -#include <Sluift/ElementConvertors/MAMArchivedConvertor.h> #include <Sluift/Lua/LuaUtils.h> #include <Sluift/Lua/Exception.h> @@ -61,7 +60,6 @@ LuaElementConvertors::LuaElementConvertors() { convertors.push_back(boost::make_shared<ForwardedConvertor>(this)); convertors.push_back(boost::make_shared<MAMResultConvertor>(this)); convertors.push_back(boost::make_shared<MAMQueryConvertor>(this)); - convertors.push_back(boost::make_shared<MAMArchivedConvertor>(this)); convertors.push_back(boost::make_shared<DOMElementConvertor>()); convertors.push_back(boost::make_shared<RawXMLElementConvertor>()); convertors.push_back(boost::make_shared<DefaultElementConvertor>()); |