summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Sluift/ElementConvertors/IQConvertor.cpp')
-rw-r--r--Sluift/ElementConvertors/IQConvertor.cpp95
1 files changed, 48 insertions, 47 deletions
diff --git a/Sluift/ElementConvertors/IQConvertor.cpp b/Sluift/ElementConvertors/IQConvertor.cpp
index e9119cb..67a4a2a 100644
--- a/Sluift/ElementConvertors/IQConvertor.cpp
+++ b/Sluift/ElementConvertors/IQConvertor.cpp
@@ -1,74 +1,75 @@
/*
- * Copyright (c) 2014 Isode Limited.
+ * Copyright (c) 2014-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
-#include <boost/smart_ptr/make_shared.hpp>
-#include <lua.hpp>
#include <Sluift/ElementConvertors/IQConvertor.h>
-#include <Sluift/LuaElementConvertors.h>
-#pragma clang diagnostic ignored "-Wunused-private-field"
+#include <memory>
+
+#include <lua.hpp>
+
+#include <Sluift/LuaElementConvertors.h>
using namespace Swift;
-IQConvertor::IQConvertor(LuaElementConvertors* convertors) :
- StanzaConvertor<IQ>("iq"),
- convertors(convertors) {
+IQConvertor::IQConvertor(LuaElementConvertors* convertors) :
+ StanzaConvertor<IQ>("iq"),
+ convertors(convertors) {
}
IQConvertor::~IQConvertor() {
}
-boost::shared_ptr<IQ> IQConvertor::doConvertFromLua(lua_State* L) {
- boost::shared_ptr<IQ> result = getStanza(L, convertors);
- lua_getfield(L, -1, "type");
- if (lua_isstring(L, -1)) {
- result->setType(IQConvertor::convertIQTypeFromString(lua_tostring(L, -1)));
- }
- lua_pop(L, 1);
- return result;
+std::shared_ptr<IQ> IQConvertor::doConvertFromLua(lua_State* L) {
+ std::shared_ptr<IQ> result = getStanza(L, convertors);
+ lua_getfield(L, -1, "type");
+ if (lua_isstring(L, -1)) {
+ result->setType(IQConvertor::convertIQTypeFromString(lua_tostring(L, -1)));
+ }
+ lua_pop(L, 1);
+ return result;
}
-void IQConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<IQ> stanza) {
- pushStanza(L, stanza, convertors);
- const std::string type = IQConvertor::convertIQTypeToString(stanza->getType());
- lua_pushstring(L, type.c_str());
- lua_setfield(L, -2, "type");
+void IQConvertor::doConvertToLua(lua_State* L, std::shared_ptr<IQ> stanza) {
+ pushStanza(L, stanza, convertors);
+ const std::string type = IQConvertor::convertIQTypeToString(stanza->getType());
+ lua_pushstring(L, type.c_str());
+ lua_setfield(L, -2, "type");
}
boost::optional<LuaElementConvertor::Documentation> IQConvertor::getDocumentation() const {
- return Documentation(
- "IQ",
- "This table has the following fields:\n\n"
- "- `type`: string\n"
- "- `id`: string\n"
- "- `from`: string\n"
- "- `to`: string\n"
- "- `payloads`: array<@{Payload}>\n"
- );
+ return Documentation(
+ "IQ",
+ "This table has the following fields:\n\n"
+ "- `type`: string\n"
+ "- `id`: string\n"
+ "- `from`: string\n"
+ "- `to`: string\n"
+ "- `payloads`: array<@{Payload}>\n"
+ );
}
std::string IQConvertor::convertIQTypeToString(IQ::Type type) {
- switch (type) {
- case IQ::Get: return "get";
- case IQ::Set: return "set";
- case IQ::Result: return "result";
- case IQ::Error: return "error";
- }
- assert(false);
- return "";
+ switch (type) {
+ case IQ::Get: return "get";
+ case IQ::Set: return "set";
+ case IQ::Result: return "result";
+ case IQ::Error: return "error";
+ }
+ assert(false);
+ return "";
}
IQ::Type IQConvertor::convertIQTypeFromString(const std::string& type) {
- if (type == "get") {
- return IQ::Get;
- }
- else if (type == "set") {
- return IQ::Set;
- }
- else {
- throw Lua::Exception("Illegal query type: '" + type + "'");
- }
+ if (type == "get") {
+ return IQ::Get;
+ }
+ else if (type == "set") {
+ return IQ::Set;
+ }
+ else {
+ throw Lua::Exception("Illegal query type: '" + type + "'");
+ }
}