diff options
Diffstat (limited to 'Sluift/ElementConvertors/DelayConvertor.cpp')
-rw-r--r-- | Sluift/ElementConvertors/DelayConvertor.cpp | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/Sluift/ElementConvertors/DelayConvertor.cpp b/Sluift/ElementConvertors/DelayConvertor.cpp index a17e114..f23e137 100644 --- a/Sluift/ElementConvertors/DelayConvertor.cpp +++ b/Sluift/ElementConvertors/DelayConvertor.cpp @@ -1,17 +1,21 @@ /* - * Copyright (c) 2014 Isode Limited. + * Copyright (c) 2014-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <Sluift/ElementConvertors/DelayConvertor.h> -#include <lua.hpp> -#include <boost/smart_ptr/make_shared.hpp> +#include <memory> + #include <boost/numeric/conversion/cast.hpp> -#include <Sluift/Lua/Check.h> + +#include <lua.hpp> + #include <Swiften/Base/DateTime.h> +#include <Sluift/Lua/Check.h> + using namespace Swift; DelayConvertor::DelayConvertor() : GenericLuaElementConvertor<Delay>("delay") { @@ -20,28 +24,28 @@ DelayConvertor::DelayConvertor() : GenericLuaElementConvertor<Delay>("delay") { DelayConvertor::~DelayConvertor() { } -boost::shared_ptr<Delay> DelayConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Delay> result = boost::make_shared<Delay>(); - lua_getfield(L, -1, "stamp"); - if (lua_isstring(L, -1)) { - result->setStamp(stringToDateTime(lua_tostring(L, -1))); - } - lua_pop(L, 1); - - lua_getfield(L, -1, "from"); - if (lua_isstring(L, -1)) { - result->setFrom(lua_tostring(L, -1)); - } - lua_pop(L, 1); - return result; +std::shared_ptr<Delay> DelayConvertor::doConvertFromLua(lua_State* L) { + std::shared_ptr<Delay> result = std::make_shared<Delay>(); + lua_getfield(L, -1, "stamp"); + if (lua_isstring(L, -1)) { + result->setStamp(stringToDateTime(lua_tostring(L, -1))); + } + lua_pop(L, 1); + + lua_getfield(L, -1, "from"); + if (lua_isstring(L, -1)) { + result->setFrom(lua_tostring(L, -1)); + } + lua_pop(L, 1); + return result; } -void DelayConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Delay> payload) { - lua_createtable(L, 0, 0); - if (payload->getFrom()) { - lua_pushstring(L, (*payload->getFrom()).toString().c_str()); - lua_setfield(L, -2, "from"); - } - lua_pushstring(L, dateTimeToString(payload->getStamp()).c_str()); - lua_setfield(L, -2, "stamp"); +void DelayConvertor::doConvertToLua(lua_State* L, std::shared_ptr<Delay> payload) { + lua_createtable(L, 0, 0); + if (payload->getFrom()) { + lua_pushstring(L, (*payload->getFrom()).toString().c_str()); + lua_setfield(L, -2, "from"); + } + lua_pushstring(L, dateTimeToString(payload->getStamp()).c_str()); + lua_setfield(L, -2, "stamp"); } |