diff options
author | Tobias Markmann <tm@ayena.de> | 2016-03-31 14:57:35 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2016-03-31 14:57:35 (GMT) |
commit | cfbdb43d2cadd40aa87338d41548e4bf89e146e6 (patch) | |
tree | 18d94153a302445196fc0c18586abf44a1ce4a38 /Sluift/ElementConvertors | |
parent | 1d545a4a7fb877f021508094b88c1f17b30d8b4e (diff) | |
download | swift-cfbdb43d2cadd40aa87338d41548e4bf89e146e6.zip swift-cfbdb43d2cadd40aa87338d41548e4bf89e146e6.tar.bz2 |
Convert tabs to 4 spaces for all source files
Removed trailing spaces and whitespace on empty lines
in the process.
Changed CheckTabs.py tool to disallow hard tabs in source
files.
Test-Information:
Manually checked 30 random files that the conversion worked
as expected.
Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
Diffstat (limited to 'Sluift/ElementConvertors')
128 files changed, 4449 insertions, 4449 deletions
diff --git a/Sluift/ElementConvertors/BodyConvertor.cpp b/Sluift/ElementConvertors/BodyConvertor.cpp index 8c1a6cd..4593f01 100644 --- a/Sluift/ElementConvertors/BodyConvertor.cpp +++ b/Sluift/ElementConvertors/BodyConvertor.cpp @@ -21,17 +21,17 @@ BodyConvertor::~BodyConvertor() { } boost::shared_ptr<Body> BodyConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Body> result = boost::make_shared<Body>(); - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "text")) { - result->setText(*value); - } - return result; + boost::shared_ptr<Body> result = boost::make_shared<Body>(); + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "text")) { + result->setText(*value); + } + return result; } void BodyConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Body> payload) { - lua_createtable(L, 0, 0); - if (!payload->getText().empty()) { - lua_pushstring(L, payload->getText().c_str()); - lua_setfield(L, -2, "text"); - } + lua_createtable(L, 0, 0); + if (!payload->getText().empty()) { + lua_pushstring(L, payload->getText().c_str()); + lua_setfield(L, -2, "text"); + } } diff --git a/Sluift/ElementConvertors/BodyConvertor.h b/Sluift/ElementConvertors/BodyConvertor.h index 6b7b3c7..75d23e7 100644 --- a/Sluift/ElementConvertors/BodyConvertor.h +++ b/Sluift/ElementConvertors/BodyConvertor.h @@ -12,14 +12,14 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class BodyConvertor : public GenericLuaElementConvertor<Body> { - public: - BodyConvertor(); - virtual ~BodyConvertor(); + class BodyConvertor : public GenericLuaElementConvertor<Body> { + public: + BodyConvertor(); + virtual ~BodyConvertor(); - virtual boost::shared_ptr<Body> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Body>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<Body> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Body>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/CommandConvertor.cpp b/Sluift/ElementConvertors/CommandConvertor.cpp index d3a8739..272e5d1 100644 --- a/Sluift/ElementConvertors/CommandConvertor.cpp +++ b/Sluift/ElementConvertors/CommandConvertor.cpp @@ -20,179 +20,179 @@ using namespace Swift; static Command::Action convertActionFromString(const std::string& action) { - if (action == "cancel") { return Command::Cancel; } - else if (action == "execute") { return Command::Execute; } - else if (action == "complete") { return Command::Complete; } - else if (action == "prev") { return Command::Prev; } - else if (action == "next") { return Command::Next; } - return Command::NoAction; + if (action == "cancel") { return Command::Cancel; } + else if (action == "execute") { return Command::Execute; } + else if (action == "complete") { return Command::Complete; } + else if (action == "prev") { return Command::Prev; } + else if (action == "next") { return Command::Next; } + return Command::NoAction; } static std::string convertActionToString(Command::Action action) { - switch (action) { - case Command::Cancel: return "cancel"; - case Command::Execute: return "execute"; - case Command::Complete: return "complete"; - case Command::Prev: return "prev"; - case Command::Next: return "next"; - case Command::NoAction: assert(false); return ""; - } - assert(false); - return ""; + switch (action) { + case Command::Cancel: return "cancel"; + case Command::Execute: return "execute"; + case Command::Complete: return "complete"; + case Command::Prev: return "prev"; + case Command::Next: return "next"; + case Command::NoAction: assert(false); return ""; + } + assert(false); + return ""; } -CommandConvertor::CommandConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<Command>("command"), - convertors(convertors) { +CommandConvertor::CommandConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<Command>("command"), + convertors(convertors) { } CommandConvertor::~CommandConvertor() { } boost::shared_ptr<Command> CommandConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Command> result = boost::make_shared<Command>(); - - lua_getfield(L, -1, "node"); - if (!lua_isnil(L, -1)) { - result->setNode(std::string(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - - lua_getfield(L, -1, "session_id"); - if (!lua_isnil(L, -1)) { - result->setSessionID(std::string(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - - lua_getfield(L, -1, "status"); - if (!lua_isnil(L, -1)) { - std::string statusText = Lua::checkString(L, -1); - Command::Status status = Command::NoStatus; - if (statusText == "executing") { status = Command::Executing; } - else if (statusText == "completed") { status = Command::Completed; } - else if (statusText == "canceled") { status = Command::Canceled; } - result->setStatus(status); - } - lua_pop(L, 1); - - lua_getfield(L, -1, "action"); - if (!lua_isnil(L, -1)) { - result->setAction(convertActionFromString(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - - lua_getfield(L, -1, "execute_action"); - if (!lua_isnil(L, -1)) { - result->setExecuteAction(convertActionFromString(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - - lua_getfield(L, -1, "available_actions"); - if (!lua_isnil(L, -1)) { - Lua::checkType(L, -1, LUA_TTABLE); - lua_pushnil(L); - for (lua_pushnil(L); lua_next(L, -2) != 0; ) { - result->addAvailableAction(convertActionFromString(Lua::checkString(L, -1))); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - - lua_getfield(L, -1, "notes"); - if (!lua_isnil(L, -1)) { - Lua::checkType(L, -1, LUA_TTABLE); - lua_pushnil(L); - for (lua_pushnil(L); lua_next(L, -2) != 0; ) { - Lua::checkType(L, -1, LUA_TTABLE); - std::string note; - lua_getfield(L, -1, "note"); - if (!lua_isnil(L, -1)) { - note = Lua::checkString(L, -1); - } - lua_pop(L, 1); - - Command::Note::Type noteType = Command::Note::Info; - lua_getfield(L, -1, "type"); - if (!lua_isnil(L, -1)) { - std::string type = Lua::checkString(L, -1); - if (type == "info") { noteType = Command::Note::Info; } - else if (type == "warn") { noteType = Command::Note::Warn; } - else if (type == "error") { noteType = Command::Note::Error; } - } - lua_pop(L, 1); - - result->addNote(Command::Note(note, noteType)); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - - lua_getfield(L, -1, "form"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Form> form = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { - result->setForm(form); - } - } - lua_pop(L, 1); - - return result; + boost::shared_ptr<Command> result = boost::make_shared<Command>(); + + lua_getfield(L, -1, "node"); + if (!lua_isnil(L, -1)) { + result->setNode(std::string(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + + lua_getfield(L, -1, "session_id"); + if (!lua_isnil(L, -1)) { + result->setSessionID(std::string(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + + lua_getfield(L, -1, "status"); + if (!lua_isnil(L, -1)) { + std::string statusText = Lua::checkString(L, -1); + Command::Status status = Command::NoStatus; + if (statusText == "executing") { status = Command::Executing; } + else if (statusText == "completed") { status = Command::Completed; } + else if (statusText == "canceled") { status = Command::Canceled; } + result->setStatus(status); + } + lua_pop(L, 1); + + lua_getfield(L, -1, "action"); + if (!lua_isnil(L, -1)) { + result->setAction(convertActionFromString(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + + lua_getfield(L, -1, "execute_action"); + if (!lua_isnil(L, -1)) { + result->setExecuteAction(convertActionFromString(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + + lua_getfield(L, -1, "available_actions"); + if (!lua_isnil(L, -1)) { + Lua::checkType(L, -1, LUA_TTABLE); + lua_pushnil(L); + for (lua_pushnil(L); lua_next(L, -2) != 0; ) { + result->addAvailableAction(convertActionFromString(Lua::checkString(L, -1))); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + + lua_getfield(L, -1, "notes"); + if (!lua_isnil(L, -1)) { + Lua::checkType(L, -1, LUA_TTABLE); + lua_pushnil(L); + for (lua_pushnil(L); lua_next(L, -2) != 0; ) { + Lua::checkType(L, -1, LUA_TTABLE); + std::string note; + lua_getfield(L, -1, "note"); + if (!lua_isnil(L, -1)) { + note = Lua::checkString(L, -1); + } + lua_pop(L, 1); + + Command::Note::Type noteType = Command::Note::Info; + lua_getfield(L, -1, "type"); + if (!lua_isnil(L, -1)) { + std::string type = Lua::checkString(L, -1); + if (type == "info") { noteType = Command::Note::Info; } + else if (type == "warn") { noteType = Command::Note::Warn; } + else if (type == "error") { noteType = Command::Note::Error; } + } + lua_pop(L, 1); + + result->addNote(Command::Note(note, noteType)); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + + lua_getfield(L, -1, "form"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Form> form = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { + result->setForm(form); + } + } + lua_pop(L, 1); + + return result; } void CommandConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Command> payload) { - Lua::Table result; - if (!payload->getNode().empty()) { - result["node"] = Lua::valueRef(payload->getNode()); - } - if (!payload->getSessionID().empty()) { - result["session_id"] = Lua::valueRef(payload->getSessionID()); - } - switch (payload->getStatus()) { - case Command::Executing: result["status"] = Lua::valueRef("executing"); break; - case Command::Completed: result["status"] = Lua::valueRef("completed"); break; - case Command::Canceled: result["status"] = Lua::valueRef("canceled"); break; - case Command::NoStatus: break; - } - - if (!payload->getNotes().empty()) { - std::vector<Lua::Value> notes; - foreach (const Command::Note& note, payload->getNotes()) { - Lua::Table noteTable; - if (!note.note.empty()) { - noteTable["note"] = Lua::valueRef(note.note); - } - switch (note.type) { - case Command::Note::Info: noteTable["type"] = Lua::valueRef("info"); break; - case Command::Note::Warn: noteTable["type"] = Lua::valueRef("warn"); break; - case Command::Note::Error: noteTable["type"] = Lua::valueRef("error"); break; - } - notes.push_back(noteTable); - } - result["notes"] = Lua::valueRef(notes); - } - - if (payload->getAction() != Command::NoAction) { - result["action"] = Lua::valueRef(convertActionToString(payload->getAction())); - } - - if (payload->getExecuteAction() != Command::NoAction) { - result["execute_action"] = Lua::valueRef(convertActionToString(payload->getAction())); - } - - if (!payload->getAvailableActions().empty()) { - std::vector<Lua::Value> availableActions; - foreach (const Command::Action& action, payload->getAvailableActions()) { - if (action != Command::NoAction) { - availableActions.push_back(convertActionToString(action)); - } - } - result["available_actions"] = Lua::valueRef(availableActions); - } - - Lua::pushValue(L, result); - - if (payload->getForm()) { - bool result = convertors->convertToLuaUntyped(L, payload->getForm()); - assert(result); - lua_setfield(L, -2, "form"); - } + Lua::Table result; + if (!payload->getNode().empty()) { + result["node"] = Lua::valueRef(payload->getNode()); + } + if (!payload->getSessionID().empty()) { + result["session_id"] = Lua::valueRef(payload->getSessionID()); + } + switch (payload->getStatus()) { + case Command::Executing: result["status"] = Lua::valueRef("executing"); break; + case Command::Completed: result["status"] = Lua::valueRef("completed"); break; + case Command::Canceled: result["status"] = Lua::valueRef("canceled"); break; + case Command::NoStatus: break; + } + + if (!payload->getNotes().empty()) { + std::vector<Lua::Value> notes; + foreach (const Command::Note& note, payload->getNotes()) { + Lua::Table noteTable; + if (!note.note.empty()) { + noteTable["note"] = Lua::valueRef(note.note); + } + switch (note.type) { + case Command::Note::Info: noteTable["type"] = Lua::valueRef("info"); break; + case Command::Note::Warn: noteTable["type"] = Lua::valueRef("warn"); break; + case Command::Note::Error: noteTable["type"] = Lua::valueRef("error"); break; + } + notes.push_back(noteTable); + } + result["notes"] = Lua::valueRef(notes); + } + + if (payload->getAction() != Command::NoAction) { + result["action"] = Lua::valueRef(convertActionToString(payload->getAction())); + } + + if (payload->getExecuteAction() != Command::NoAction) { + result["execute_action"] = Lua::valueRef(convertActionToString(payload->getAction())); + } + + if (!payload->getAvailableActions().empty()) { + std::vector<Lua::Value> availableActions; + foreach (const Command::Action& action, payload->getAvailableActions()) { + if (action != Command::NoAction) { + availableActions.push_back(convertActionToString(action)); + } + } + result["available_actions"] = Lua::valueRef(availableActions); + } + + Lua::pushValue(L, result); + + if (payload->getForm()) { + bool result = convertors->convertToLuaUntyped(L, payload->getForm()); + assert(result); + lua_setfield(L, -2, "form"); + } } diff --git a/Sluift/ElementConvertors/CommandConvertor.h b/Sluift/ElementConvertors/CommandConvertor.h index e129fd9..97b3f2f 100644 --- a/Sluift/ElementConvertors/CommandConvertor.h +++ b/Sluift/ElementConvertors/CommandConvertor.h @@ -12,17 +12,17 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class CommandConvertor : public GenericLuaElementConvertor<Command> { - public: - CommandConvertor(LuaElementConvertors* convertors); - virtual ~CommandConvertor(); + class CommandConvertor : public GenericLuaElementConvertor<Command> { + public: + CommandConvertor(LuaElementConvertors* convertors); + virtual ~CommandConvertor(); - virtual boost::shared_ptr<Command> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Command>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<Command> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Command>) SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/DOMElementConvertor.cpp b/Sluift/ElementConvertors/DOMElementConvertor.cpp index 347bbfd..85b505d 100644 --- a/Sluift/ElementConvertors/DOMElementConvertor.cpp +++ b/Sluift/ElementConvertors/DOMElementConvertor.cpp @@ -30,133 +30,133 @@ using namespace Swift; namespace { - class ParserClient : public XMLParserClient { - public: - ParserClient(lua_State* L) : L(L), currentIndex(1) { - } - - virtual void handleStartElement( - const std::string& element, const std::string& ns, - const AttributeMap& attributes) SWIFTEN_OVERRIDE { - lua_checkstack(L, 6); - lua_pushnumber(L, currentIndex); - lua_newtable(L); - lua_pushstring(L, element.c_str()); - lua_setfield(L, -2, "tag"); - if (!ns.empty()) { - lua_pushstring(L, ns.c_str()); - lua_setfield(L, -2, "ns"); - } - if (!attributes.getEntries().empty()) { - lua_newtable(L); - int i = 1; - foreach(const AttributeMap::Entry& entry, attributes.getEntries()) { - lua_pushnumber(L, i); - lua_newtable(L); - lua_pushstring(L, entry.getAttribute().getName().c_str()); - lua_setfield(L, -2, "name"); - if (!entry.getAttribute().getNamespace().empty()) { - lua_pushstring(L, entry.getAttribute().getNamespace().c_str()); - lua_setfield(L, -2, "ns"); - } - lua_pushstring(L, entry.getValue().c_str()); - lua_setfield(L, -2, "value"); - lua_settable(L, -3); - ++i; - } - lua_setfield(L, -2, "attributes"); - } - - indexStack.push_back(currentIndex); - currentIndex = 1; - lua_newtable(L); - } - - virtual void handleEndElement( - const std::string&, const std::string&) SWIFTEN_OVERRIDE { - lua_setfield(L, -2, "children"); - lua_settable(L, -3); - currentIndex = indexStack.back(); - indexStack.pop_back(); - currentIndex++; - } - - virtual void handleCharacterData(const std::string& data) SWIFTEN_OVERRIDE { - lua_checkstack(L, 2); - lua_pushnumber(L, currentIndex); - lua_pushstring(L, data.c_str()); - lua_settable(L, -3); - currentIndex++; - } - - private: - lua_State* L; - std::vector<int> indexStack; - int currentIndex; - }; - - std::string serializeElement(lua_State* L) { - std::string tag; - lua_getfield(L, -1, "tag"); - if (lua_isstring(L, -1)) { - tag = lua_tostring(L, -1); - } - lua_pop(L, 1); - - std::string ns; - lua_getfield(L, -1, "ns"); - if (lua_isstring(L, -1)) { - ns = lua_tostring(L, -1); - } - lua_pop(L, 1); - - XMLElement element(tag, ns); - - lua_getfield(L, -1, "attributes"); - if (lua_istable(L, -1)) { - int index = Lua::absoluteOffset(L, -1); - for (lua_pushnil(L); lua_next(L, index) != 0; ) { - if (lua_istable(L, -1)) { - std::string attributeName; - lua_getfield(L, -1, "name"); - if (lua_isstring(L, -1)) { - attributeName = lua_tostring(L, -1); - } - lua_pop(L, 1); - - std::string attributeValue; - lua_getfield(L, -1, "value"); - if (lua_isstring(L, -1)) { - attributeValue = lua_tostring(L, -1); - } - lua_pop(L, 1); - - if (!attributeName.empty()) { - element.setAttribute(attributeName, attributeValue); - } - } - lua_pop(L, 1); // value - } - } - lua_pop(L, 1); // children - - lua_getfield(L, -1, "children"); - if (lua_istable(L, -1)) { - int index = Lua::absoluteOffset(L, -1); - for (lua_pushnil(L); lua_next(L, index) != 0; ) { - if (lua_isstring(L, -1)) { - element.addNode(boost::make_shared<XMLTextNode>(lua_tostring(L, -1))); - } - else if (lua_istable(L, -1)) { - element.addNode(boost::make_shared<XMLRawTextNode>(serializeElement(L))); - } - lua_pop(L, 1); // value - } - } - lua_pop(L, 1); // children - - return element.serialize(); - } + class ParserClient : public XMLParserClient { + public: + ParserClient(lua_State* L) : L(L), currentIndex(1) { + } + + virtual void handleStartElement( + const std::string& element, const std::string& ns, + const AttributeMap& attributes) SWIFTEN_OVERRIDE { + lua_checkstack(L, 6); + lua_pushnumber(L, currentIndex); + lua_newtable(L); + lua_pushstring(L, element.c_str()); + lua_setfield(L, -2, "tag"); + if (!ns.empty()) { + lua_pushstring(L, ns.c_str()); + lua_setfield(L, -2, "ns"); + } + if (!attributes.getEntries().empty()) { + lua_newtable(L); + int i = 1; + foreach(const AttributeMap::Entry& entry, attributes.getEntries()) { + lua_pushnumber(L, i); + lua_newtable(L); + lua_pushstring(L, entry.getAttribute().getName().c_str()); + lua_setfield(L, -2, "name"); + if (!entry.getAttribute().getNamespace().empty()) { + lua_pushstring(L, entry.getAttribute().getNamespace().c_str()); + lua_setfield(L, -2, "ns"); + } + lua_pushstring(L, entry.getValue().c_str()); + lua_setfield(L, -2, "value"); + lua_settable(L, -3); + ++i; + } + lua_setfield(L, -2, "attributes"); + } + + indexStack.push_back(currentIndex); + currentIndex = 1; + lua_newtable(L); + } + + virtual void handleEndElement( + const std::string&, const std::string&) SWIFTEN_OVERRIDE { + lua_setfield(L, -2, "children"); + lua_settable(L, -3); + currentIndex = indexStack.back(); + indexStack.pop_back(); + currentIndex++; + } + + virtual void handleCharacterData(const std::string& data) SWIFTEN_OVERRIDE { + lua_checkstack(L, 2); + lua_pushnumber(L, currentIndex); + lua_pushstring(L, data.c_str()); + lua_settable(L, -3); + currentIndex++; + } + + private: + lua_State* L; + std::vector<int> indexStack; + int currentIndex; + }; + + std::string serializeElement(lua_State* L) { + std::string tag; + lua_getfield(L, -1, "tag"); + if (lua_isstring(L, -1)) { + tag = lua_tostring(L, -1); + } + lua_pop(L, 1); + + std::string ns; + lua_getfield(L, -1, "ns"); + if (lua_isstring(L, -1)) { + ns = lua_tostring(L, -1); + } + lua_pop(L, 1); + + XMLElement element(tag, ns); + + lua_getfield(L, -1, "attributes"); + if (lua_istable(L, -1)) { + int index = Lua::absoluteOffset(L, -1); + for (lua_pushnil(L); lua_next(L, index) != 0; ) { + if (lua_istable(L, -1)) { + std::string attributeName; + lua_getfield(L, -1, "name"); + if (lua_isstring(L, -1)) { + attributeName = lua_tostring(L, -1); + } + lua_pop(L, 1); + + std::string attributeValue; + lua_getfield(L, -1, "value"); + if (lua_isstring(L, -1)) { + attributeValue = lua_tostring(L, -1); + } + lua_pop(L, 1); + + if (!attributeName.empty()) { + element.setAttribute(attributeName, attributeValue); + } + } + lua_pop(L, 1); // value + } + } + lua_pop(L, 1); // children + + lua_getfield(L, -1, "children"); + if (lua_istable(L, -1)) { + int index = Lua::absoluteOffset(L, -1); + for (lua_pushnil(L); lua_next(L, index) != 0; ) { + if (lua_isstring(L, -1)) { + element.addNode(boost::make_shared<XMLTextNode>(lua_tostring(L, -1))); + } + else if (lua_istable(L, -1)) { + element.addNode(boost::make_shared<XMLRawTextNode>(serializeElement(L))); + } + lua_pop(L, 1); // value + } + } + lua_pop(L, 1); // children + + return element.serialize(); + } } DOMElementConvertor::DOMElementConvertor() { @@ -166,39 +166,39 @@ DOMElementConvertor::~DOMElementConvertor() { } boost::shared_ptr<Element> DOMElementConvertor::convertFromLua(lua_State* L, int index, const std::string& type) { - if (!lua_istable(L, index) || type != "dom") { - return boost::shared_ptr<Payload>(); - } - return boost::make_shared<RawXMLPayload>(serializeElement(L).c_str()); + if (!lua_istable(L, index) || type != "dom") { + return boost::shared_ptr<Payload>(); + } + return boost::make_shared<RawXMLPayload>(serializeElement(L).c_str()); } boost::optional<std::string> DOMElementConvertor::convertToLua( - lua_State* L, boost::shared_ptr<Element> element) { - // Serialize payload to XML - boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(element); - if (!payload) { - return boost::optional<std::string>(); - } - - PayloadSerializer* serializer = serializers.getPayloadSerializer(payload); - assert(serializer); - std::string serializedPayload = serializer->serialize(payload); - - lua_newtable(L); - - // Parse the payload again - ParserClient parserClient(L); - boost::shared_ptr<XMLParser> parser(parsers.createXMLParser(&parserClient)); - bool result = parser->parse(serializedPayload); - assert(result); - - // There can only be one element, so stripping the list - lua_pushnil(L); - lua_next(L, -2); - Lua::registerTableToString(L, -1); - - lua_replace(L, -3); - lua_settop(L, -2); - - return std::string("dom"); + lua_State* L, boost::shared_ptr<Element> element) { + // Serialize payload to XML + boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(element); + if (!payload) { + return boost::optional<std::string>(); + } + + PayloadSerializer* serializer = serializers.getPayloadSerializer(payload); + assert(serializer); + std::string serializedPayload = serializer->serialize(payload); + + lua_newtable(L); + + // Parse the payload again + ParserClient parserClient(L); + boost::shared_ptr<XMLParser> parser(parsers.createXMLParser(&parserClient)); + bool result = parser->parse(serializedPayload); + assert(result); + + // There can only be one element, so stripping the list + lua_pushnil(L); + lua_next(L, -2); + Lua::registerTableToString(L, -1); + + lua_replace(L, -3); + lua_settop(L, -2); + + return std::string("dom"); } diff --git a/Sluift/ElementConvertors/DOMElementConvertor.h b/Sluift/ElementConvertors/DOMElementConvertor.h index 550bc3b..0d20251 100644 --- a/Sluift/ElementConvertors/DOMElementConvertor.h +++ b/Sluift/ElementConvertors/DOMElementConvertor.h @@ -13,16 +13,16 @@ #include <Sluift/LuaElementConvertor.h> namespace Swift { - class DOMElementConvertor : public LuaElementConvertor { - public: - DOMElementConvertor(); - virtual ~DOMElementConvertor(); + class DOMElementConvertor : public LuaElementConvertor { + public: + DOMElementConvertor(); + virtual ~DOMElementConvertor(); - virtual boost::shared_ptr<Element> convertFromLua(lua_State*, int index, const std::string& type) SWIFTEN_OVERRIDE; - virtual boost::optional<std::string> convertToLua(lua_State*, boost::shared_ptr<Element>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<Element> convertFromLua(lua_State*, int index, const std::string& type) SWIFTEN_OVERRIDE; + virtual boost::optional<std::string> convertToLua(lua_State*, boost::shared_ptr<Element>) SWIFTEN_OVERRIDE; - private: - PlatformXMLParserFactory parsers; - FullPayloadSerializerCollection serializers; - }; + private: + PlatformXMLParserFactory parsers; + FullPayloadSerializerCollection serializers; + }; } diff --git a/Sluift/ElementConvertors/DefaultElementConvertor.cpp b/Sluift/ElementConvertors/DefaultElementConvertor.cpp index a1e27fa..8353207 100644 --- a/Sluift/ElementConvertors/DefaultElementConvertor.cpp +++ b/Sluift/ElementConvertors/DefaultElementConvertor.cpp @@ -19,12 +19,12 @@ DefaultElementConvertor::~DefaultElementConvertor() { } boost::shared_ptr<Element> DefaultElementConvertor::convertFromLua(lua_State*, int, const std::string& type) { - std::cerr << "Warning: Unable to convert type '" << type << "'" << std::endl; - return boost::shared_ptr<Element>(); + std::cerr << "Warning: Unable to convert type '" << type << "'" << std::endl; + return boost::shared_ptr<Element>(); } boost::optional<std::string> DefaultElementConvertor::convertToLua(lua_State*, boost::shared_ptr<Element>) { - // Should have been handled by the raw XML convertor - assert(false); - return NO_RESULT; + // Should have been handled by the raw XML convertor + assert(false); + return NO_RESULT; } diff --git a/Sluift/ElementConvertors/DefaultElementConvertor.h b/Sluift/ElementConvertors/DefaultElementConvertor.h index e08bb98..8f57e4f 100644 --- a/Sluift/ElementConvertors/DefaultElementConvertor.h +++ b/Sluift/ElementConvertors/DefaultElementConvertor.h @@ -11,12 +11,12 @@ #include <Sluift/LuaElementConvertor.h> namespace Swift { - class DefaultElementConvertor : public LuaElementConvertor { - public: - DefaultElementConvertor(); - virtual ~DefaultElementConvertor(); + class DefaultElementConvertor : public LuaElementConvertor { + public: + DefaultElementConvertor(); + virtual ~DefaultElementConvertor(); - virtual boost::shared_ptr<Element> convertFromLua(lua_State*, int index, const std::string& type) SWIFTEN_OVERRIDE; - virtual boost::optional<std::string> convertToLua(lua_State*, boost::shared_ptr<Element>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<Element> convertFromLua(lua_State*, int index, const std::string& type) SWIFTEN_OVERRIDE; + virtual boost::optional<std::string> convertToLua(lua_State*, boost::shared_ptr<Element>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/DelayConvertor.cpp b/Sluift/ElementConvertors/DelayConvertor.cpp index a2ea132..b59744b 100644 --- a/Sluift/ElementConvertors/DelayConvertor.cpp +++ b/Sluift/ElementConvertors/DelayConvertor.cpp @@ -24,27 +24,27 @@ 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; + 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; } 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"); + 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"); } diff --git a/Sluift/ElementConvertors/DelayConvertor.h b/Sluift/ElementConvertors/DelayConvertor.h index fed032f..064406c 100644 --- a/Sluift/ElementConvertors/DelayConvertor.h +++ b/Sluift/ElementConvertors/DelayConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class DelayConvertor : public GenericLuaElementConvertor<Delay> { - public: - DelayConvertor(); - virtual ~DelayConvertor(); + class DelayConvertor : public GenericLuaElementConvertor<Delay> { + public: + DelayConvertor(); + virtual ~DelayConvertor(); - virtual boost::shared_ptr<Delay> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Delay>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<Delay> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Delay>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/DiscoInfoConvertor.cpp b/Sluift/ElementConvertors/DiscoInfoConvertor.cpp index 4ebd6a3..fc48e6c 100644 --- a/Sluift/ElementConvertors/DiscoInfoConvertor.cpp +++ b/Sluift/ElementConvertors/DiscoInfoConvertor.cpp @@ -22,97 +22,97 @@ DiscoInfoConvertor::~DiscoInfoConvertor() { } boost::shared_ptr<DiscoInfo> DiscoInfoConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<DiscoInfo> result = boost::make_shared<DiscoInfo>(); - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "node")) { - result->setNode(*value); - } - - lua_getfield(L, -1, "identities"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - result->addIdentity(DiscoInfo::Identity( - Lua::getStringField(L, -1, "name").get_value_or(""), - Lua::getStringField(L, -1, "category").get_value_or("client"), - Lua::getStringField(L, -1, "type").get_value_or("pc"), - Lua::getStringField(L, -1, "language").get_value_or(""))); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - - lua_getfield(L, -1, "features"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - result->addFeature(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - - // TODO: Extension - - return result; + boost::shared_ptr<DiscoInfo> result = boost::make_shared<DiscoInfo>(); + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "node")) { + result->setNode(*value); + } + + lua_getfield(L, -1, "identities"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + result->addIdentity(DiscoInfo::Identity( + Lua::getStringField(L, -1, "name").get_value_or(""), + Lua::getStringField(L, -1, "category").get_value_or("client"), + Lua::getStringField(L, -1, "type").get_value_or("pc"), + Lua::getStringField(L, -1, "language").get_value_or(""))); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + + lua_getfield(L, -1, "features"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + result->addFeature(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + + // TODO: Extension + + return result; } void DiscoInfoConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<DiscoInfo> payload) { - lua_newtable(L); - if (!payload->getNode().empty()) { - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - } - - const std::vector<DiscoInfo::Identity>& identities = payload->getIdentities(); - if (!identities.empty()) { - lua_createtable(L, boost::numeric_cast<int>(identities.size()), 0); - for (size_t i = 0; i < identities.size(); ++i) { - lua_createtable(L, 0, 0); - if (!identities[i].getName().empty()) { - lua_pushstring(L, identities[i].getName().c_str()); - lua_setfield(L, -2, "name"); - } - if (!identities[i].getCategory().empty()) { - lua_pushstring(L, identities[i].getCategory().c_str()); - lua_setfield(L, -2, "category"); - } - if (!identities[i].getType().empty()) { - lua_pushstring(L, identities[i].getType().c_str()); - lua_setfield(L, -2, "type"); - } - if (!identities[i].getLanguage().empty()) { - lua_pushstring(L, identities[i].getLanguage().c_str()); - lua_setfield(L, -2, "language"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "identities"); - } - - const std::vector<std::string>& features = payload->getFeatures(); - if (!features.empty()) { - lua_createtable(L, boost::numeric_cast<int>(features.size()), 0); - for (size_t i = 0; i < features.size(); ++i) { - lua_pushstring(L, features[i].c_str()); - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "features"); - } - - // TODO: Extension + lua_newtable(L); + if (!payload->getNode().empty()) { + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + } + + const std::vector<DiscoInfo::Identity>& identities = payload->getIdentities(); + if (!identities.empty()) { + lua_createtable(L, boost::numeric_cast<int>(identities.size()), 0); + for (size_t i = 0; i < identities.size(); ++i) { + lua_createtable(L, 0, 0); + if (!identities[i].getName().empty()) { + lua_pushstring(L, identities[i].getName().c_str()); + lua_setfield(L, -2, "name"); + } + if (!identities[i].getCategory().empty()) { + lua_pushstring(L, identities[i].getCategory().c_str()); + lua_setfield(L, -2, "category"); + } + if (!identities[i].getType().empty()) { + lua_pushstring(L, identities[i].getType().c_str()); + lua_setfield(L, -2, "type"); + } + if (!identities[i].getLanguage().empty()) { + lua_pushstring(L, identities[i].getLanguage().c_str()); + lua_setfield(L, -2, "language"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "identities"); + } + + const std::vector<std::string>& features = payload->getFeatures(); + if (!features.empty()) { + lua_createtable(L, boost::numeric_cast<int>(features.size()), 0); + for (size_t i = 0; i < features.size(); ++i) { + lua_pushstring(L, features[i].c_str()); + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "features"); + } + + // TODO: Extension } boost::optional<LuaElementConvertor::Documentation> DiscoInfoConvertor::getDocumentation() const { - return Documentation( - "DiscoInfo", - "Represents `disco#info` service discovery data.\n\n" - "This table has the following structure:\n\n" - "- `node`: string\n" - "- `identities`: array(table)\n" - " - `name`: string\n" - " - `category`: string\n" - " - `type`: string\n" - " - `language`: string\n" - "- `features`: array(string)\n" - ); + return Documentation( + "DiscoInfo", + "Represents `disco#info` service discovery data.\n\n" + "This table has the following structure:\n\n" + "- `node`: string\n" + "- `identities`: array(table)\n" + " - `name`: string\n" + " - `category`: string\n" + " - `type`: string\n" + " - `language`: string\n" + "- `features`: array(string)\n" + ); } diff --git a/Sluift/ElementConvertors/DiscoInfoConvertor.h b/Sluift/ElementConvertors/DiscoInfoConvertor.h index 4f397b0..9e8d36d 100644 --- a/Sluift/ElementConvertors/DiscoInfoConvertor.h +++ b/Sluift/ElementConvertors/DiscoInfoConvertor.h @@ -12,13 +12,13 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class DiscoInfoConvertor : public GenericLuaElementConvertor<DiscoInfo> { - public: - DiscoInfoConvertor(); - virtual ~DiscoInfoConvertor(); + class DiscoInfoConvertor : public GenericLuaElementConvertor<DiscoInfo> { + public: + DiscoInfoConvertor(); + virtual ~DiscoInfoConvertor(); - virtual boost::shared_ptr<DiscoInfo> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<DiscoInfo>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<DiscoInfo> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<DiscoInfo>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/DiscoItemsConvertor.cpp b/Sluift/ElementConvertors/DiscoItemsConvertor.cpp index a01fa7e..32cbb6e 100644 --- a/Sluift/ElementConvertors/DiscoItemsConvertor.cpp +++ b/Sluift/ElementConvertors/DiscoItemsConvertor.cpp @@ -22,49 +22,49 @@ DiscoItemsConvertor::~DiscoItemsConvertor() { } boost::shared_ptr<DiscoItems> DiscoItemsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<DiscoItems> result = boost::make_shared<DiscoItems>(); - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "node")) { - result->setNode(*value); - } - lua_getfield(L, -1, "items"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - result->addItem(DiscoItems::Item( - Lua::getStringField(L, -1, "name").get_value_or(""), - JID(Lua::getStringField(L, -1, "jid").get_value_or("")), - Lua::getStringField(L, -1, "node").get_value_or(""))); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<DiscoItems> result = boost::make_shared<DiscoItems>(); + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "node")) { + result->setNode(*value); + } + lua_getfield(L, -1, "items"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + result->addItem(DiscoItems::Item( + Lua::getStringField(L, -1, "name").get_value_or(""), + JID(Lua::getStringField(L, -1, "jid").get_value_or("")), + Lua::getStringField(L, -1, "node").get_value_or(""))); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + return result; } void DiscoItemsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<DiscoItems> payload) { - lua_newtable(L); - if (!payload->getNode().empty()) { - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - } - const std::vector<DiscoItems::Item>& items = payload->getItems(); - if (!items.empty()) { - lua_createtable(L, boost::numeric_cast<int>(items.size()), 0); - for (size_t i = 0; i < items.size(); ++i) { - lua_createtable(L, 0, 0); - if (!items[i].getName().empty()) { - lua_pushstring(L, items[i].getName().c_str()); - lua_setfield(L, -2, "name"); - } - if (!items[i].getNode().empty()) { - lua_pushstring(L, items[i].getNode().c_str()); - lua_setfield(L, -2, "node"); - } - if (items[i].getJID().isValid()) { - lua_pushstring(L, items[i].getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "items"); - } + lua_newtable(L); + if (!payload->getNode().empty()) { + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + } + const std::vector<DiscoItems::Item>& items = payload->getItems(); + if (!items.empty()) { + lua_createtable(L, boost::numeric_cast<int>(items.size()), 0); + for (size_t i = 0; i < items.size(); ++i) { + lua_createtable(L, 0, 0); + if (!items[i].getName().empty()) { + lua_pushstring(L, items[i].getName().c_str()); + lua_setfield(L, -2, "name"); + } + if (!items[i].getNode().empty()) { + lua_pushstring(L, items[i].getNode().c_str()); + lua_setfield(L, -2, "node"); + } + if (items[i].getJID().isValid()) { + lua_pushstring(L, items[i].getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "items"); + } } diff --git a/Sluift/ElementConvertors/DiscoItemsConvertor.h b/Sluift/ElementConvertors/DiscoItemsConvertor.h index a1261a4..aa1f1e5 100644 --- a/Sluift/ElementConvertors/DiscoItemsConvertor.h +++ b/Sluift/ElementConvertors/DiscoItemsConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class DiscoItemsConvertor : public GenericLuaElementConvertor<DiscoItems> { - public: - DiscoItemsConvertor(); - virtual ~DiscoItemsConvertor(); + class DiscoItemsConvertor : public GenericLuaElementConvertor<DiscoItems> { + public: + DiscoItemsConvertor(); + virtual ~DiscoItemsConvertor(); - virtual boost::shared_ptr<DiscoItems> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<DiscoItems>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<DiscoItems> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<DiscoItems>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/ElementConvertors.ipp b/Sluift/ElementConvertors/ElementConvertors.ipp index 57e24a4..64e7540 100644 --- a/Sluift/ElementConvertors/ElementConvertors.ipp +++ b/Sluift/ElementConvertors/ElementConvertors.ipp @@ -45,43 +45,43 @@ #include <Sluift/ElementConvertors/UserTuneConvertor.h> void LuaElementConvertors::registerConvertors() { - convertors.push_back(boost::make_shared<PubSubRetractConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubAffiliationsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubPublishConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubItemsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerRedirectConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventRedirectConvertor>()); - convertors.push_back(boost::make_shared<UserTuneConvertor>()); - convertors.push_back(boost::make_shared<PubSubConfigureConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubEventDisassociateConvertor>()); - convertors.push_back(boost::make_shared<PubSubOwnerAffiliationsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerConfigureConvertor>(this)); - convertors.push_back(boost::make_shared<UserLocationConvertor>()); - convertors.push_back(boost::make_shared<PubSubSubscribeOptionsConvertor>()); - convertors.push_back(boost::make_shared<PubSubOwnerSubscriptionsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubDefaultConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventCollectionConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubEventSubscriptionConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventRetractConvertor>()); - convertors.push_back(boost::make_shared<PubSubItemConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubUnsubscribeConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventDeleteConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubCreateConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerPurgeConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventItemsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOptionsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubEventItemConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerSubscriptionConvertor>()); - convertors.push_back(boost::make_shared<IsodeIQDelegationConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerAffiliationConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventPurgeConvertor>()); - convertors.push_back(boost::make_shared<PubSubAffiliationConvertor>()); - convertors.push_back(boost::make_shared<PubSubSubscribeConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerDeleteConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubOwnerDefaultConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubSubscriptionsConvertor>(this)); - convertors.push_back(boost::make_shared<PubSubEventAssociateConvertor>()); - convertors.push_back(boost::make_shared<PubSubSubscriptionConvertor>(this)); - convertors.push_back(boost::make_shared<SecurityLabelConvertor>()); - convertors.push_back(boost::make_shared<PubSubEventConfigurationConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubRetractConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubAffiliationsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubPublishConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubItemsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerRedirectConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventRedirectConvertor>()); + convertors.push_back(boost::make_shared<UserTuneConvertor>()); + convertors.push_back(boost::make_shared<PubSubConfigureConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubEventDisassociateConvertor>()); + convertors.push_back(boost::make_shared<PubSubOwnerAffiliationsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerConfigureConvertor>(this)); + convertors.push_back(boost::make_shared<UserLocationConvertor>()); + convertors.push_back(boost::make_shared<PubSubSubscribeOptionsConvertor>()); + convertors.push_back(boost::make_shared<PubSubOwnerSubscriptionsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubDefaultConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventCollectionConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubEventSubscriptionConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventRetractConvertor>()); + convertors.push_back(boost::make_shared<PubSubItemConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubUnsubscribeConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventDeleteConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubCreateConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerPurgeConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventItemsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOptionsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubEventItemConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerSubscriptionConvertor>()); + convertors.push_back(boost::make_shared<IsodeIQDelegationConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerAffiliationConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventPurgeConvertor>()); + convertors.push_back(boost::make_shared<PubSubAffiliationConvertor>()); + convertors.push_back(boost::make_shared<PubSubSubscribeConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerDeleteConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubOwnerDefaultConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubSubscriptionsConvertor>(this)); + convertors.push_back(boost::make_shared<PubSubEventAssociateConvertor>()); + convertors.push_back(boost::make_shared<PubSubSubscriptionConvertor>(this)); + convertors.push_back(boost::make_shared<SecurityLabelConvertor>()); + convertors.push_back(boost::make_shared<PubSubEventConfigurationConvertor>(this)); } diff --git a/Sluift/ElementConvertors/FormConvertor.cpp b/Sluift/ElementConvertors/FormConvertor.cpp index d1617b6..5b6f664 100644 --- a/Sluift/ElementConvertors/FormConvertor.cpp +++ b/Sluift/ElementConvertors/FormConvertor.cpp @@ -22,326 +22,326 @@ using namespace Swift; namespace { - int formIndex(lua_State* L) { - lua_getfield(L, 1, "fields"); - if (lua_type(L, -1) != LUA_TTABLE) { - return 0; - } - int index = Lua::absoluteOffset(L, -1); - lua_pushnil(L); - for (lua_pushnil(L); lua_next(L, index) != 0; ) { - lua_getfield(L, -1, "name"); - if (lua_equal(L, -1, 2)) { - lua_pop(L, 1); - return 1; - } - lua_pop(L, 2); - } - return 0; - } - - int formNewIndex(lua_State* L) { - lua_getfield(L, 1, "fields"); - bool foundField = false; - if (lua_type(L, -1) == LUA_TTABLE) { - for (lua_pushnil(L); lua_next(L, -2) != 0; ) { - lua_getfield(L, -1, "name"); - if (lua_equal(L, -1, 2)) { - lua_pushvalue(L, 3); - lua_setfield(L, -3, "value"); - foundField = true; - lua_pop(L, 3); - break; - } - lua_pop(L, 2); - } - } - lua_pop(L, 1); - - if (!foundField) { - lua_pushvalue(L, 2); - lua_pushvalue(L, 3); - lua_rawset(L, 1); - } - return 0; - } - - Lua::Table convertFieldToLua(boost::shared_ptr<FormField> field) { - Lua::Table luaField = boost::assign::map_list_of("name", Lua::valueRef(field->getName())); - std::string type; - switch (field->getType()) { - case FormField::UnknownType: type = ""; break; - case FormField::BooleanType: type = "boolean"; break; - case FormField::FixedType: type = "fixed"; break; - case FormField::HiddenType: type = "hidden"; break; - case FormField::ListSingleType: type = "list-single"; break; - case FormField::TextMultiType: type = "text-multi"; break; - case FormField::TextPrivateType: type = "text-private"; break; - case FormField::TextSingleType: type = "text-single"; break; - case FormField::JIDSingleType: type = "jid-single"; break; - case FormField::JIDMultiType: type = "jid-multi"; break; - case FormField::ListMultiType: type = "list-multi"; break; - } - if (!type.empty()) { - luaField["type"] = Lua::valueRef(type); - } - if (!field->getLabel().empty()) { - luaField["label"] = Lua::valueRef(field->getLabel()); - } - if (field->getRequired()) { - luaField["required"] = Lua::boolRef(field->getRequired()); - } - if (!field->getDescription().empty()) { - luaField["description"] = Lua::valueRef(field->getDescription()); - } - if (field->getType() == FormField::BooleanType) { - luaField["value"] = Lua::boolRef(field->getBoolValue()); - } - else if (field->getValues().size() > 1) { - luaField["value"] = Lua::valueRef(Lua::Array(field->getValues().begin(), field->getValues().end())); - } - else if (field->getValues().size() == 1) { - luaField["value"] = Lua::valueRef(field->getValues()[0]); - } - if (!field->getOptions().empty()) { - Lua::Array options; - foreach(const FormField::Option& option, field->getOptions()) { - Lua::Table luaOption = boost::assign::map_list_of - ("label", Lua::valueRef(option.label)) - ("value", Lua::valueRef(option.value)); - options.push_back(luaOption); - } - luaField["options"] = valueRef(options); - } - return luaField; - } - - Lua::Array convertFieldListToLua(const std::vector< boost::shared_ptr<FormField> >& fieldList) { - Lua::Array fields; - foreach(boost::shared_ptr<FormField> field, fieldList) { - fields.push_back(convertFieldToLua(field)); - } - return fields; - } - - - boost::shared_ptr<FormField> convertFieldFromLua(lua_State* L) { - boost::shared_ptr<FormField> result = boost::make_shared<FormField>(); - FormField::Type fieldType = FormField::UnknownType; - boost::optional<std::string> type = Lua::getStringField(L, -1, "type"); - if (type) { - if (*type == "boolean") { - fieldType = FormField::BooleanType; - } - if (*type == "fixed") { - fieldType = FormField::FixedType; - } - if (*type == "hidden") { - fieldType = FormField::HiddenType; - } - if (*type == "list-single") { - fieldType = FormField::ListSingleType; - } - if (*type == "text-multi") { - fieldType = FormField::TextMultiType; - } - if (*type == "text-private") { - fieldType = FormField::TextPrivateType; - } - if (*type == "text-single") { - fieldType = FormField::TextSingleType; - } - if (*type == "jid-single") { - fieldType = FormField::JIDSingleType; - } - if (*type == "jid-multi") { - fieldType = FormField::JIDMultiType; - } - if (*type == "list-multi") { - fieldType = FormField::ListMultiType; - } - } - result->setType(fieldType); - if (boost::optional<std::string> name = Lua::getStringField(L, -1, "name")) { - result->setName(*name); - } - if (boost::optional<std::string> description = Lua::getStringField(L, -1, "description")) { - result->setDescription(*description); - } - if (boost::optional<std::string> label = Lua::getStringField(L, -1, "label")) { - result->setLabel(*label); - } - if (boost::optional<bool> required = Lua::getBooleanField(L, -1, "required")) { - result->setRequired(*required); - } - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "value")) { - result->addValue(*value); - } - else if (boost::optional<bool> value = Lua::getBooleanField(L, -1, "value")) { - result->setBoolValue(*value); - } - else { - lua_getfield(L, -1, "value"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - result->addValue(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - } - lua_getfield(L, -1, "options"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_istable(L, -1)) { - FormField::Option option("", ""); - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "value")) { - option.value = *value; - } - if (boost::optional<std::string> label = Lua::getStringField(L, -1, "label")) { - option.label = *label; - } - result->addOption(option); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - return result; - } - - std::vector< boost::shared_ptr<FormField> > convertFieldListFromLua(lua_State* L) { - std::vector< boost::shared_ptr<FormField> > result; - for (lua_pushnil(L); lua_next(L, -2);) { - result.push_back(convertFieldFromLua(L)); - lua_pop(L, 1); - } - return result; - } - - boost::shared_ptr<Form> convertFormFromLua(lua_State* L) { - boost::shared_ptr<Form> result = boost::make_shared<Form>(); - if (boost::optional<std::string> title = Lua::getStringField(L, -1, "title")) { - result->setTitle(*title); - } - if (boost::optional<std::string> instructions = Lua::getStringField(L, -1, "instructions")) { - result->setInstructions(*instructions); - } - if (boost::optional<std::string> type = Lua::getStringField(L, -1, "type")) { - Form::Type formType = Form::FormType; - if (*type == "submit") { - formType = Form::SubmitType; - } - else if (*type == "cancel") { - formType = Form::CancelType; - } - else if (*type == "result") { - formType = Form::ResultType; - } - result->setType(formType); - } - - lua_getfield(L, -1, "fields"); - if (lua_istable(L, -1)) { - foreach (boost::shared_ptr<FormField> formField, convertFieldListFromLua(L)) { - result->addField(formField); - } - } - lua_pop(L, 1); - - lua_getfield(L, -1, "reported_fields"); - if (lua_istable(L, -1)) { - foreach (boost::shared_ptr<FormField> formField, convertFieldListFromLua(L)) { - result->addReportedField(formField); - } - } - lua_pop(L, 1); - - lua_getfield(L, -1, "items"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2);) { - result->addItem(convertFieldListFromLua(L)); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - - return result; - } - - void convertFormToLua(lua_State* L, boost::shared_ptr<Form> payload) { - std::string type; - switch (payload->getType()) { - case Form::FormType: type = "form"; break; - case Form::SubmitType: type = "submit"; break; - case Form::CancelType: type = "cancel"; break; - case Form::ResultType: type = "result"; break; - } - - Lua::Table result = boost::assign::map_list_of("type", Lua::valueRef(type)); - if (!payload->getTitle().empty()) { - result["title"] = Lua::valueRef(payload->getTitle()); - } - if (!payload->getInstructions().empty()) { - result["instructions"] = Lua::valueRef(payload->getInstructions()); - } - if (!payload->getFields().empty()) { - result["fields"] = valueRef(convertFieldListToLua(payload->getFields())); - } - if (!payload->getReportedFields().empty()) { - result["reported_fields"] = valueRef(convertFieldListToLua(payload->getReportedFields())); - } - - if (!payload->getItems().empty()) { - Lua::Array luaItems; - foreach(const Form::FormItem& item, payload->getItems()) { - if (!item.empty()) { - luaItems.push_back(convertFieldListToLua(item)); - } - } - result["items"] = valueRef(luaItems); - } - - Lua::pushValue(L, result); - - lua_newtable(L); - lua_pushcfunction(L, formIndex); - lua_setfield(L, -2, "__index"); - lua_pushcfunction(L, formNewIndex); - lua_setfield(L, -2, "__newindex"); - lua_setmetatable(L, -2); - } - - int createSubmission(lua_State* L) { - boost::shared_ptr<Form> form = convertFormFromLua(L); - - // Remove all redundant elements - form->setInstructions(""); - form->setTitle(""); - form->clearItems(); - form->clearReportedFields(); - std::vector< boost::shared_ptr<FormField> > fields(form->getFields()); - form->clearFields(); - foreach (boost::shared_ptr<FormField> field, fields) { - if (field->getType() == FormField::FixedType) { - continue; - } - field->clearOptions(); - field->setLabel(""); - field->setType(FormField::UnknownType); - field->setDescription(""); - form->addField(field); - } - form->setType(Form::SubmitType); - - // Convert back - convertFormToLua(L, form); - Lua::registerTableToString(L, -1); - - return 1; - } + int formIndex(lua_State* L) { + lua_getfield(L, 1, "fields"); + if (lua_type(L, -1) != LUA_TTABLE) { + return 0; + } + int index = Lua::absoluteOffset(L, -1); + lua_pushnil(L); + for (lua_pushnil(L); lua_next(L, index) != 0; ) { + lua_getfield(L, -1, "name"); + if (lua_equal(L, -1, 2)) { + lua_pop(L, 1); + return 1; + } + lua_pop(L, 2); + } + return 0; + } + + int formNewIndex(lua_State* L) { + lua_getfield(L, 1, "fields"); + bool foundField = false; + if (lua_type(L, -1) == LUA_TTABLE) { + for (lua_pushnil(L); lua_next(L, -2) != 0; ) { + lua_getfield(L, -1, "name"); + if (lua_equal(L, -1, 2)) { + lua_pushvalue(L, 3); + lua_setfield(L, -3, "value"); + foundField = true; + lua_pop(L, 3); + break; + } + lua_pop(L, 2); + } + } + lua_pop(L, 1); + + if (!foundField) { + lua_pushvalue(L, 2); + lua_pushvalue(L, 3); + lua_rawset(L, 1); + } + return 0; + } + + Lua::Table convertFieldToLua(boost::shared_ptr<FormField> field) { + Lua::Table luaField = boost::assign::map_list_of("name", Lua::valueRef(field->getName())); + std::string type; + switch (field->getType()) { + case FormField::UnknownType: type = ""; break; + case FormField::BooleanType: type = "boolean"; break; + case FormField::FixedType: type = "fixed"; break; + case FormField::HiddenType: type = "hidden"; break; + case FormField::ListSingleType: type = "list-single"; break; + case FormField::TextMultiType: type = "text-multi"; break; + case FormField::TextPrivateType: type = "text-private"; break; + case FormField::TextSingleType: type = "text-single"; break; + case FormField::JIDSingleType: type = "jid-single"; break; + case FormField::JIDMultiType: type = "jid-multi"; break; + case FormField::ListMultiType: type = "list-multi"; break; + } + if (!type.empty()) { + luaField["type"] = Lua::valueRef(type); + } + if (!field->getLabel().empty()) { + luaField["label"] = Lua::valueRef(field->getLabel()); + } + if (field->getRequired()) { + luaField["required"] = Lua::boolRef(field->getRequired()); + } + if (!field->getDescription().empty()) { + luaField["description"] = Lua::valueRef(field->getDescription()); + } + if (field->getType() == FormField::BooleanType) { + luaField["value"] = Lua::boolRef(field->getBoolValue()); + } + else if (field->getValues().size() > 1) { + luaField["value"] = Lua::valueRef(Lua::Array(field->getValues().begin(), field->getValues().end())); + } + else if (field->getValues().size() == 1) { + luaField["value"] = Lua::valueRef(field->getValues()[0]); + } + if (!field->getOptions().empty()) { + Lua::Array options; + foreach(const FormField::Option& option, field->getOptions()) { + Lua::Table luaOption = boost::assign::map_list_of + ("label", Lua::valueRef(option.label)) + ("value", Lua::valueRef(option.value)); + options.push_back(luaOption); + } + luaField["options"] = valueRef(options); + } + return luaField; + } + + Lua::Array convertFieldListToLua(const std::vector< boost::shared_ptr<FormField> >& fieldList) { + Lua::Array fields; + foreach(boost::shared_ptr<FormField> field, fieldList) { + fields.push_back(convertFieldToLua(field)); + } + return fields; + } + + + boost::shared_ptr<FormField> convertFieldFromLua(lua_State* L) { + boost::shared_ptr<FormField> result = boost::make_shared<FormField>(); + FormField::Type fieldType = FormField::UnknownType; + boost::optional<std::string> type = Lua::getStringField(L, -1, "type"); + if (type) { + if (*type == "boolean") { + fieldType = FormField::BooleanType; + } + if (*type == "fixed") { + fieldType = FormField::FixedType; + } + if (*type == "hidden") { + fieldType = FormField::HiddenType; + } + if (*type == "list-single") { + fieldType = FormField::ListSingleType; + } + if (*type == "text-multi") { + fieldType = FormField::TextMultiType; + } + if (*type == "text-private") { + fieldType = FormField::TextPrivateType; + } + if (*type == "text-single") { + fieldType = FormField::TextSingleType; + } + if (*type == "jid-single") { + fieldType = FormField::JIDSingleType; + } + if (*type == "jid-multi") { + fieldType = FormField::JIDMultiType; + } + if (*type == "list-multi") { + fieldType = FormField::ListMultiType; + } + } + result->setType(fieldType); + if (boost::optional<std::string> name = Lua::getStringField(L, -1, "name")) { + result->setName(*name); + } + if (boost::optional<std::string> description = Lua::getStringField(L, -1, "description")) { + result->setDescription(*description); + } + if (boost::optional<std::string> label = Lua::getStringField(L, -1, "label")) { + result->setLabel(*label); + } + if (boost::optional<bool> required = Lua::getBooleanField(L, -1, "required")) { + result->setRequired(*required); + } + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "value")) { + result->addValue(*value); + } + else if (boost::optional<bool> value = Lua::getBooleanField(L, -1, "value")) { + result->setBoolValue(*value); + } + else { + lua_getfield(L, -1, "value"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + result->addValue(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + } + lua_getfield(L, -1, "options"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_istable(L, -1)) { + FormField::Option option("", ""); + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "value")) { + option.value = *value; + } + if (boost::optional<std::string> label = Lua::getStringField(L, -1, "label")) { + option.label = *label; + } + result->addOption(option); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + return result; + } + + std::vector< boost::shared_ptr<FormField> > convertFieldListFromLua(lua_State* L) { + std::vector< boost::shared_ptr<FormField> > result; + for (lua_pushnil(L); lua_next(L, -2);) { + result.push_back(convertFieldFromLua(L)); + lua_pop(L, 1); + } + return result; + } + + boost::shared_ptr<Form> convertFormFromLua(lua_State* L) { + boost::shared_ptr<Form> result = boost::make_shared<Form>(); + if (boost::optional<std::string> title = Lua::getStringField(L, -1, "title")) { + result->setTitle(*title); + } + if (boost::optional<std::string> instructions = Lua::getStringField(L, -1, "instructions")) { + result->setInstructions(*instructions); + } + if (boost::optional<std::string> type = Lua::getStringField(L, -1, "type")) { + Form::Type formType = Form::FormType; + if (*type == "submit") { + formType = Form::SubmitType; + } + else if (*type == "cancel") { + formType = Form::CancelType; + } + else if (*type == "result") { + formType = Form::ResultType; + } + result->setType(formType); + } + + lua_getfield(L, -1, "fields"); + if (lua_istable(L, -1)) { + foreach (boost::shared_ptr<FormField> formField, convertFieldListFromLua(L)) { + result->addField(formField); + } + } + lua_pop(L, 1); + + lua_getfield(L, -1, "reported_fields"); + if (lua_istable(L, -1)) { + foreach (boost::shared_ptr<FormField> formField, convertFieldListFromLua(L)) { + result->addReportedField(formField); + } + } + lua_pop(L, 1); + + lua_getfield(L, -1, "items"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2);) { + result->addItem(convertFieldListFromLua(L)); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + + return result; + } + + void convertFormToLua(lua_State* L, boost::shared_ptr<Form> payload) { + std::string type; + switch (payload->getType()) { + case Form::FormType: type = "form"; break; + case Form::SubmitType: type = "submit"; break; + case Form::CancelType: type = "cancel"; break; + case Form::ResultType: type = "result"; break; + } + + Lua::Table result = boost::assign::map_list_of("type", Lua::valueRef(type)); + if (!payload->getTitle().empty()) { + result["title"] = Lua::valueRef(payload->getTitle()); + } + if (!payload->getInstructions().empty()) { + result["instructions"] = Lua::valueRef(payload->getInstructions()); + } + if (!payload->getFields().empty()) { + result["fields"] = valueRef(convertFieldListToLua(payload->getFields())); + } + if (!payload->getReportedFields().empty()) { + result["reported_fields"] = valueRef(convertFieldListToLua(payload->getReportedFields())); + } + + if (!payload->getItems().empty()) { + Lua::Array luaItems; + foreach(const Form::FormItem& item, payload->getItems()) { + if (!item.empty()) { + luaItems.push_back(convertFieldListToLua(item)); + } + } + result["items"] = valueRef(luaItems); + } + + Lua::pushValue(L, result); + + lua_newtable(L); + lua_pushcfunction(L, formIndex); + lua_setfield(L, -2, "__index"); + lua_pushcfunction(L, formNewIndex); + lua_setfield(L, -2, "__newindex"); + lua_setmetatable(L, -2); + } + + int createSubmission(lua_State* L) { + boost::shared_ptr<Form> form = convertFormFromLua(L); + + // Remove all redundant elements + form->setInstructions(""); + form->setTitle(""); + form->clearItems(); + form->clearReportedFields(); + std::vector< boost::shared_ptr<FormField> > fields(form->getFields()); + form->clearFields(); + foreach (boost::shared_ptr<FormField> field, fields) { + if (field->getType() == FormField::FixedType) { + continue; + } + field->clearOptions(); + field->setLabel(""); + field->setType(FormField::UnknownType); + field->setDescription(""); + form->addField(field); + } + form->setType(Form::SubmitType); + + // Convert back + convertFormToLua(L, form); + Lua::registerTableToString(L, -1); + + return 1; + } } FormConvertor::FormConvertor() : GenericLuaElementConvertor<Form>("form") { @@ -351,13 +351,13 @@ FormConvertor::~FormConvertor() { } boost::shared_ptr<Form> FormConvertor::doConvertFromLua(lua_State* L) { - return convertFormFromLua(L); + return convertFormFromLua(L); } void FormConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Form> payload) { - convertFormToLua(L, payload); + convertFormToLua(L, payload); - lua_pushstring(L, "create_submission"); - lua_pushcfunction(L, createSubmission); - lua_rawset(L, -3); + lua_pushstring(L, "create_submission"); + lua_pushcfunction(L, createSubmission); + lua_rawset(L, -3); } diff --git a/Sluift/ElementConvertors/FormConvertor.h b/Sluift/ElementConvertors/FormConvertor.h index af9020d..05ca57f 100644 --- a/Sluift/ElementConvertors/FormConvertor.h +++ b/Sluift/ElementConvertors/FormConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class FormConvertor : public GenericLuaElementConvertor<Form> { - public: - FormConvertor(); - virtual ~FormConvertor(); + class FormConvertor : public GenericLuaElementConvertor<Form> { + public: + FormConvertor(); + virtual ~FormConvertor(); - virtual boost::shared_ptr<Form> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Form>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<Form> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Form>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/ForwardedConvertor.cpp b/Sluift/ElementConvertors/ForwardedConvertor.cpp index a1f53a3..82539bb 100644 --- a/Sluift/ElementConvertors/ForwardedConvertor.cpp +++ b/Sluift/ElementConvertors/ForwardedConvertor.cpp @@ -21,54 +21,54 @@ using namespace Swift; -ForwardedConvertor::ForwardedConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<Forwarded>("forwarded"), - convertors(convertors) { +ForwardedConvertor::ForwardedConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<Forwarded>("forwarded"), + convertors(convertors) { } ForwardedConvertor::~ForwardedConvertor() { } boost::shared_ptr<Forwarded> ForwardedConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Forwarded> result = boost::make_shared<Forwarded>(); - lua_getfield(L, -1, "delay"); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<Delay> delay = boost::dynamic_pointer_cast<Delay>(convertors->convertFromLuaUntyped(L, -1, "delay")); - if (!!delay) { - result->setDelay(delay); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "stanza"); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<Stanza> stanza = boost::dynamic_pointer_cast<Stanza>(convertors->convertFromLua(L, -1)); - if (!!stanza) { - result->setStanza(stanza); - } - lua_pop(L, 1); - return result; - } - return result; + boost::shared_ptr<Forwarded> result = boost::make_shared<Forwarded>(); + lua_getfield(L, -1, "delay"); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<Delay> delay = boost::dynamic_pointer_cast<Delay>(convertors->convertFromLuaUntyped(L, -1, "delay")); + if (!!delay) { + result->setDelay(delay); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "stanza"); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<Stanza> stanza = boost::dynamic_pointer_cast<Stanza>(convertors->convertFromLua(L, -1)); + if (!!stanza) { + result->setStanza(stanza); + } + lua_pop(L, 1); + return result; + } + return result; } void ForwardedConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Forwarded> payload) { - lua_createtable(L, 0, 0); - if (convertors->convertToLuaUntyped(L, payload->getDelay()) > 0) { - lua_setfield(L, -2, "delay"); - } - boost::shared_ptr<Stanza> stanza = payload->getStanza(); - if (!!stanza) { - if (convertors->convertToLua(L, stanza) > 0) { - lua_setfield(L, -2, "stanza"); - } - } + lua_createtable(L, 0, 0); + if (convertors->convertToLuaUntyped(L, payload->getDelay()) > 0) { + lua_setfield(L, -2, "delay"); + } + boost::shared_ptr<Stanza> stanza = payload->getStanza(); + if (!!stanza) { + if (convertors->convertToLua(L, stanza) > 0) { + lua_setfield(L, -2, "stanza"); + } + } } boost::optional<LuaElementConvertor::Documentation> ForwardedConvertor::getDocumentation() const { - return Documentation( - "Forwarded", - "This table has the following fields:\n\n" - "- `delay`: @{Delay} (Optional)\n" - "- `stanza`: @{Stanza} (Optional)\n" - ); + return Documentation( + "Forwarded", + "This table has the following fields:\n\n" + "- `delay`: @{Delay} (Optional)\n" + "- `stanza`: @{Stanza} (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/ForwardedConvertor.h b/Sluift/ElementConvertors/ForwardedConvertor.h index 6c4848a..ee022fa 100644 --- a/Sluift/ElementConvertors/ForwardedConvertor.h +++ b/Sluift/ElementConvertors/ForwardedConvertor.h @@ -12,20 +12,20 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class ForwardedConvertor : public GenericLuaElementConvertor<Forwarded> { - public: - ForwardedConvertor(LuaElementConvertors* convertors); - virtual ~ForwardedConvertor(); + class ForwardedConvertor : public GenericLuaElementConvertor<Forwarded> { + public: + ForwardedConvertor(LuaElementConvertors* convertors); + virtual ~ForwardedConvertor(); - virtual boost::shared_ptr<Forwarded> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Forwarded>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<Forwarded> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Forwarded>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - private: - LuaElementConvertors* convertors; - }; + private: + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/IQConvertor.cpp b/Sluift/ElementConvertors/IQConvertor.cpp index 019ec57..7e2cb7e 100644 --- a/Sluift/ElementConvertors/IQConvertor.cpp +++ b/Sluift/ElementConvertors/IQConvertor.cpp @@ -14,62 +14,62 @@ 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; + 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; } 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"); + 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 + "'"); + } } diff --git a/Sluift/ElementConvertors/IQConvertor.h b/Sluift/ElementConvertors/IQConvertor.h index 68bda38..49896e7 100644 --- a/Sluift/ElementConvertors/IQConvertor.h +++ b/Sluift/ElementConvertors/IQConvertor.h @@ -12,23 +12,23 @@ #include <Sluift/ElementConvertors/StanzaConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class IQConvertor : public StanzaConvertor<IQ> { - public: - IQConvertor(LuaElementConvertors* convertors); - virtual ~IQConvertor(); + class IQConvertor : public StanzaConvertor<IQ> { + public: + IQConvertor(LuaElementConvertors* convertors); + virtual ~IQConvertor(); - virtual boost::shared_ptr<IQ> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<IQ>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<IQ> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<IQ>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - static std::string convertIQTypeToString(IQ::Type type); - static IQ::Type convertIQTypeFromString(const std::string& type); + static std::string convertIQTypeToString(IQ::Type type); + static IQ::Type convertIQTypeFromString(const std::string& type); - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/IsodeIQDelegationConvertor.cpp b/Sluift/ElementConvertors/IsodeIQDelegationConvertor.cpp index bb1de94..e256dc7 100644 --- a/Sluift/ElementConvertors/IsodeIQDelegationConvertor.cpp +++ b/Sluift/ElementConvertors/IsodeIQDelegationConvertor.cpp @@ -14,37 +14,37 @@ using namespace Swift; -IsodeIQDelegationConvertor::IsodeIQDelegationConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<IsodeIQDelegation>("isode_iq_delegation"), - convertors(convertors) { +IsodeIQDelegationConvertor::IsodeIQDelegationConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<IsodeIQDelegation>("isode_iq_delegation"), + convertors(convertors) { } IsodeIQDelegationConvertor::~IsodeIQDelegationConvertor() { } boost::shared_ptr<IsodeIQDelegation> IsodeIQDelegationConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<IsodeIQDelegation> result = boost::make_shared<IsodeIQDelegation>(); - lua_getfield(L, -1, "forward"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Forwarded> payload = boost::dynamic_pointer_cast<Forwarded>(convertors->convertFromLuaUntyped(L, -1, "forwarded"))) { - result->setForward(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<IsodeIQDelegation> result = boost::make_shared<IsodeIQDelegation>(); + lua_getfield(L, -1, "forward"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Forwarded> payload = boost::dynamic_pointer_cast<Forwarded>(convertors->convertFromLuaUntyped(L, -1, "forwarded"))) { + result->setForward(payload); + } + } + lua_pop(L, 1); + return result; } void IsodeIQDelegationConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<IsodeIQDelegation> payload) { - lua_createtable(L, 0, 0); - if (convertors->convertToLuaUntyped(L, payload->getForward()) > 0) { - lua_setfield(L, -2, "forward"); - } + lua_createtable(L, 0, 0); + if (convertors->convertToLuaUntyped(L, payload->getForward()) > 0) { + lua_setfield(L, -2, "forward"); + } } boost::optional<LuaElementConvertor::Documentation> IsodeIQDelegationConvertor::getDocumentation() const { - return Documentation( - "IsodeIQDelegation", - "This table has the following fields:\n\n" - "- `forward`: @{Forwarded}\n" - ); + return Documentation( + "IsodeIQDelegation", + "This table has the following fields:\n\n" + "- `forward`: @{Forwarded}\n" + ); } diff --git a/Sluift/ElementConvertors/IsodeIQDelegationConvertor.h b/Sluift/ElementConvertors/IsodeIQDelegationConvertor.h index bcbeb40..9fa005b 100644 --- a/Sluift/ElementConvertors/IsodeIQDelegationConvertor.h +++ b/Sluift/ElementConvertors/IsodeIQDelegationConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class IsodeIQDelegationConvertor : public GenericLuaElementConvertor<IsodeIQDelegation> { - public: - IsodeIQDelegationConvertor(LuaElementConvertors* convertors); - virtual ~IsodeIQDelegationConvertor(); + class IsodeIQDelegationConvertor : public GenericLuaElementConvertor<IsodeIQDelegation> { + public: + IsodeIQDelegationConvertor(LuaElementConvertors* convertors); + virtual ~IsodeIQDelegationConvertor(); - virtual boost::shared_ptr<IsodeIQDelegation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<IsodeIQDelegation>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<IsodeIQDelegation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<IsodeIQDelegation>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/MAMFinConvertor.cpp b/Sluift/ElementConvertors/MAMFinConvertor.cpp index 977dbc9..1bb6c05 100644 --- a/Sluift/ElementConvertors/MAMFinConvertor.cpp +++ b/Sluift/ElementConvertors/MAMFinConvertor.cpp @@ -17,64 +17,64 @@ using namespace Swift; -MAMFinConvertor::MAMFinConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<MAMFin>("mam_fin"), - convertors(convertors) { +MAMFinConvertor::MAMFinConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<MAMFin>("mam_fin"), + convertors(convertors) { } MAMFinConvertor::~MAMFinConvertor() { } boost::shared_ptr<MAMFin> MAMFinConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<MAMFin> result = boost::make_shared<MAMFin>(); - lua_getfield(L, -1, "query_id"); - if (lua_isstring(L, -1)) { - result->setQueryID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "complete"); - if (lua_isboolean(L, -1)) { - result->setComplete(lua_toboolean(L, -1) != 0); - } - lua_pop(L, 1); - lua_getfield(L, -1, "stable"); - if (!lua_isnil(L, -1)) { - result->setStable(lua_toboolean(L, -1) != 0); - } - lua_pop(L, 1); - lua_getfield(L, -1, "result_set"); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<ResultSet> resultSet = boost::dynamic_pointer_cast<ResultSet>(convertors->convertFromLuaUntyped(L, -1, "result_set")); - if (!!resultSet) { - result->setResultSet(resultSet); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<MAMFin> result = boost::make_shared<MAMFin>(); + lua_getfield(L, -1, "query_id"); + if (lua_isstring(L, -1)) { + result->setQueryID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "complete"); + if (lua_isboolean(L, -1)) { + result->setComplete(lua_toboolean(L, -1) != 0); + } + lua_pop(L, 1); + lua_getfield(L, -1, "stable"); + if (!lua_isnil(L, -1)) { + result->setStable(lua_toboolean(L, -1) != 0); + } + lua_pop(L, 1); + lua_getfield(L, -1, "result_set"); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<ResultSet> resultSet = boost::dynamic_pointer_cast<ResultSet>(convertors->convertFromLuaUntyped(L, -1, "result_set")); + if (!!resultSet) { + result->setResultSet(resultSet); + } + } + lua_pop(L, 1); + return result; } void MAMFinConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<MAMFin> payload) { - lua_createtable(L, 0, 0); - if (payload->getQueryID()) { - lua_pushstring(L, (*payload->getQueryID()).c_str()); - lua_setfield(L, -2, "query_id"); - } - lua_pushboolean(L, payload->isComplete()); - lua_setfield(L, -2, "complete"); - lua_pushboolean(L, payload->isStable()); - lua_setfield(L, -2, "stable"); - if (convertors->convertToLuaUntyped(L, payload->getResultSet()) > 0) { - lua_setfield(L, -2, "result_set"); - } + lua_createtable(L, 0, 0); + if (payload->getQueryID()) { + lua_pushstring(L, (*payload->getQueryID()).c_str()); + lua_setfield(L, -2, "query_id"); + } + lua_pushboolean(L, payload->isComplete()); + lua_setfield(L, -2, "complete"); + lua_pushboolean(L, payload->isStable()); + lua_setfield(L, -2, "stable"); + if (convertors->convertToLuaUntyped(L, payload->getResultSet()) > 0) { + lua_setfield(L, -2, "result_set"); + } } boost::optional<LuaElementConvertor::Documentation> MAMFinConvertor::getDocumentation() const { - return Documentation( - "MAMFin", - "This table has the following fields:\n\n" - "- `query_id`: string (Optional)\n" - "- `complete`: boolean (Optional)\n" - "- `stable`: boolean (Optional)\n" - "- `result_set`: @{ResultSet} (Optional)\n" - ); + return Documentation( + "MAMFin", + "This table has the following fields:\n\n" + "- `query_id`: string (Optional)\n" + "- `complete`: boolean (Optional)\n" + "- `stable`: boolean (Optional)\n" + "- `result_set`: @{ResultSet} (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/MAMFinConvertor.h b/Sluift/ElementConvertors/MAMFinConvertor.h index 1727403..9345aeb 100644 --- a/Sluift/ElementConvertors/MAMFinConvertor.h +++ b/Sluift/ElementConvertors/MAMFinConvertor.h @@ -12,19 +12,19 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class MAMFinConvertor : public GenericLuaElementConvertor<MAMFin> { - public: - MAMFinConvertor(LuaElementConvertors* convertors); - virtual ~MAMFinConvertor(); + class MAMFinConvertor : public GenericLuaElementConvertor<MAMFin> { + public: + MAMFinConvertor(LuaElementConvertors* convertors); + virtual ~MAMFinConvertor(); - virtual boost::shared_ptr<MAMFin> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMFin>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<MAMFin> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMFin>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/MAMQueryConvertor.cpp b/Sluift/ElementConvertors/MAMQueryConvertor.cpp index 89a8876..a52abd9 100644 --- a/Sluift/ElementConvertors/MAMQueryConvertor.cpp +++ b/Sluift/ElementConvertors/MAMQueryConvertor.cpp @@ -18,70 +18,70 @@ using namespace Swift; -MAMQueryConvertor::MAMQueryConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<MAMQuery>("mam"), - convertors(convertors) { +MAMQueryConvertor::MAMQueryConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<MAMQuery>("mam"), + convertors(convertors) { } MAMQueryConvertor::~MAMQueryConvertor() { } boost::shared_ptr<MAMQuery> MAMQueryConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<MAMQuery> result = boost::make_shared<MAMQuery>(); - lua_getfield(L, -1, "query_id"); - if (lua_isstring(L, -1)) { - result->setQueryID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "form"); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<Form> form = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form")); - if (!!form) { - result->setForm(form); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "result_set"); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<ResultSet> resultSet = boost::dynamic_pointer_cast<ResultSet>(convertors->convertFromLuaUntyped(L, -1, "result_set")); - if (!!resultSet) { - result->setResultSet(resultSet); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<MAMQuery> result = boost::make_shared<MAMQuery>(); + lua_getfield(L, -1, "query_id"); + if (lua_isstring(L, -1)) { + result->setQueryID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "form"); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<Form> form = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form")); + if (!!form) { + result->setForm(form); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "result_set"); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<ResultSet> resultSet = boost::dynamic_pointer_cast<ResultSet>(convertors->convertFromLuaUntyped(L, -1, "result_set")); + if (!!resultSet) { + result->setResultSet(resultSet); + } + } + lua_pop(L, 1); + return result; } void MAMQueryConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<MAMQuery> payload) { - lua_createtable(L, 0, 0); - if (payload->getQueryID()) { - lua_pushstring(L, (*payload->getQueryID()).c_str()); - lua_setfield(L, -2, "query_id"); - } - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (convertors->convertToLuaUntyped(L, payload->getForm()) > 0) { - lua_setfield(L, -2, "form"); - } - if (convertors->convertToLuaUntyped(L, payload->getResultSet()) > 0) { - lua_setfield(L, -2, "result_set"); - } + lua_createtable(L, 0, 0); + if (payload->getQueryID()) { + lua_pushstring(L, (*payload->getQueryID()).c_str()); + lua_setfield(L, -2, "query_id"); + } + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (convertors->convertToLuaUntyped(L, payload->getForm()) > 0) { + lua_setfield(L, -2, "form"); + } + if (convertors->convertToLuaUntyped(L, payload->getResultSet()) > 0) { + lua_setfield(L, -2, "result_set"); + } } boost::optional<LuaElementConvertor::Documentation> MAMQueryConvertor::getDocumentation() const { - return Documentation( - "MAMQuery", - "This table has the following fields:\n\n" - "- `query_id`: string (Optional)\n" - "- `node`: string (Optional)\n" - "- `form`: string @{Form} (Optional)\n" - "- `result_set`: @{ResultSet} (Optional)\n" - ); + return Documentation( + "MAMQuery", + "This table has the following fields:\n\n" + "- `query_id`: string (Optional)\n" + "- `node`: string (Optional)\n" + "- `form`: string @{Form} (Optional)\n" + "- `result_set`: @{ResultSet} (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/MAMQueryConvertor.h b/Sluift/ElementConvertors/MAMQueryConvertor.h index e839a24..54a99e0 100644 --- a/Sluift/ElementConvertors/MAMQueryConvertor.h +++ b/Sluift/ElementConvertors/MAMQueryConvertor.h @@ -12,19 +12,19 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class MAMQueryConvertor : public GenericLuaElementConvertor<MAMQuery> { - public: - MAMQueryConvertor(LuaElementConvertors* convertors); - virtual ~MAMQueryConvertor(); + class MAMQueryConvertor : public GenericLuaElementConvertor<MAMQuery> { + public: + MAMQueryConvertor(LuaElementConvertors* convertors); + virtual ~MAMQueryConvertor(); - virtual boost::shared_ptr<MAMQuery> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMQuery>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<MAMQuery> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMQuery>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/MAMResultConvertor.cpp b/Sluift/ElementConvertors/MAMResultConvertor.cpp index 02c5976..2260eb1 100644 --- a/Sluift/ElementConvertors/MAMResultConvertor.cpp +++ b/Sluift/ElementConvertors/MAMResultConvertor.cpp @@ -17,56 +17,56 @@ using namespace Swift; -MAMResultConvertor::MAMResultConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<MAMResult>("mam_result"), - convertors(convertors) { +MAMResultConvertor::MAMResultConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<MAMResult>("mam_result"), + convertors(convertors) { } MAMResultConvertor::~MAMResultConvertor() { } boost::shared_ptr<MAMResult> MAMResultConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<MAMResult> result = boost::make_shared<MAMResult>(); - lua_getfield(L, -1, "payload"); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<Forwarded> payload = boost::dynamic_pointer_cast<Forwarded>(convertors->convertFromLuaUntyped(L, -1, "payload")); - if (!!payload) { - result->setPayload(payload); - } - } - 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); - lua_getfield(L, -1, "query_id"); - if (lua_isstring(L, -1)) { - result->setQueryID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<MAMResult> result = boost::make_shared<MAMResult>(); + lua_getfield(L, -1, "payload"); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<Forwarded> payload = boost::dynamic_pointer_cast<Forwarded>(convertors->convertFromLuaUntyped(L, -1, "payload")); + if (!!payload) { + result->setPayload(payload); + } + } + 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); + lua_getfield(L, -1, "query_id"); + if (lua_isstring(L, -1)) { + result->setQueryID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void MAMResultConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<MAMResult> payload) { - lua_createtable(L, 0, 0); - if (convertors->convertToLuaUntyped(L, payload->getPayload()) > 0) { - lua_setfield(L, -2, "payload"); - } - lua_pushstring(L, payload->getID().c_str()); - lua_setfield(L, -2, "id"); - if (payload->getQueryID()) { - lua_pushstring(L, (*payload->getQueryID()).c_str()); - lua_setfield(L, -2, "query_id"); - } + lua_createtable(L, 0, 0); + if (convertors->convertToLuaUntyped(L, payload->getPayload()) > 0) { + lua_setfield(L, -2, "payload"); + } + lua_pushstring(L, payload->getID().c_str()); + lua_setfield(L, -2, "id"); + if (payload->getQueryID()) { + lua_pushstring(L, (*payload->getQueryID()).c_str()); + lua_setfield(L, -2, "query_id"); + } } boost::optional<LuaElementConvertor::Documentation> MAMResultConvertor::getDocumentation() const { - return Documentation( - "MAMResult", - "This table has the following fields:\n\n" - "- `payload`: @{Forwarded}\n" - "- `id`: string\n" - "- `query_id`: string (Optional)\n" - ); + return Documentation( + "MAMResult", + "This table has the following fields:\n\n" + "- `payload`: @{Forwarded}\n" + "- `id`: string\n" + "- `query_id`: string (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/MAMResultConvertor.h b/Sluift/ElementConvertors/MAMResultConvertor.h index 49b14e2..c1ddf31 100644 --- a/Sluift/ElementConvertors/MAMResultConvertor.h +++ b/Sluift/ElementConvertors/MAMResultConvertor.h @@ -12,19 +12,19 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class MAMResultConvertor : public GenericLuaElementConvertor<MAMResult> { - public: - MAMResultConvertor(LuaElementConvertors* convertors); - virtual ~MAMResultConvertor(); + class MAMResultConvertor : public GenericLuaElementConvertor<MAMResult> { + public: + MAMResultConvertor(LuaElementConvertors* convertors); + virtual ~MAMResultConvertor(); - virtual boost::shared_ptr<MAMResult> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMResult>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<MAMResult> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<MAMResult>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/MessageConvertor.cpp b/Sluift/ElementConvertors/MessageConvertor.cpp index 52b3b90..c9285ef 100644 --- a/Sluift/ElementConvertors/MessageConvertor.cpp +++ b/Sluift/ElementConvertors/MessageConvertor.cpp @@ -14,72 +14,72 @@ using namespace Swift; -MessageConvertor::MessageConvertor(LuaElementConvertors* convertors) : - StanzaConvertor<Message>("message"), - convertors(convertors) { +MessageConvertor::MessageConvertor(LuaElementConvertors* convertors) : + StanzaConvertor<Message>("message"), + convertors(convertors) { } MessageConvertor::~MessageConvertor() { } boost::shared_ptr<Message> MessageConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Message> result = getStanza(L, convertors); - lua_getfield(L, -1, "type"); - if (lua_isstring(L, -1)) { - result->setType(convertMessageTypeFromString(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<Message> result = getStanza(L, convertors); + lua_getfield(L, -1, "type"); + if (lua_isstring(L, -1)) { + result->setType(convertMessageTypeFromString(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void MessageConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Message> stanza) { - pushStanza(L, stanza, convertors); - const std::string type = convertMessageTypeToString(stanza->getType()); - lua_pushstring(L, type.c_str()); - lua_setfield(L, -2, "type"); + pushStanza(L, stanza, convertors); + const std::string type = convertMessageTypeToString(stanza->getType()); + lua_pushstring(L, type.c_str()); + lua_setfield(L, -2, "type"); } boost::optional<LuaElementConvertor::Documentation> MessageConvertor::getDocumentation() const { - return Documentation( - "Message", - "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( + "Message", + "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 MessageConvertor::convertMessageTypeToString(Message::Type type) { - switch (type) { - case Message::Normal: return "normal"; - case Message::Chat: return "chat"; - case Message::Error: return "error"; - case Message::Groupchat: return "groupchat"; - case Message::Headline: return "headline"; - } - assert(false); - return ""; + switch (type) { + case Message::Normal: return "normal"; + case Message::Chat: return "chat"; + case Message::Error: return "error"; + case Message::Groupchat: return "groupchat"; + case Message::Headline: return "headline"; + } + assert(false); + return ""; } Message::Type MessageConvertor::convertMessageTypeFromString(const std::string& type) { - if (type == "normal") { - return Message::Normal; - } - else if (type == "chat") { - return Message::Chat; - } - else if (type == "error") { - return Message::Error; - } - else if (type == "groupchat") { - return Message::Groupchat; - } - else if (type == "headline") { - return Message::Headline; - } - else { - throw Lua::Exception("Illegal message type: '" + type + "'"); - } + if (type == "normal") { + return Message::Normal; + } + else if (type == "chat") { + return Message::Chat; + } + else if (type == "error") { + return Message::Error; + } + else if (type == "groupchat") { + return Message::Groupchat; + } + else if (type == "headline") { + return Message::Headline; + } + else { + throw Lua::Exception("Illegal message type: '" + type + "'"); + } } diff --git a/Sluift/ElementConvertors/MessageConvertor.h b/Sluift/ElementConvertors/MessageConvertor.h index 92efea3..e05e00e 100644 --- a/Sluift/ElementConvertors/MessageConvertor.h +++ b/Sluift/ElementConvertors/MessageConvertor.h @@ -12,23 +12,23 @@ #include <Sluift/ElementConvertors/StanzaConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class MessageConvertor : public StanzaConvertor<Message> { - public: - MessageConvertor(LuaElementConvertors* convertors); - virtual ~MessageConvertor(); + class MessageConvertor : public StanzaConvertor<Message> { + public: + MessageConvertor(LuaElementConvertors* convertors); + virtual ~MessageConvertor(); - virtual boost::shared_ptr<Message> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Message>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<Message> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Message>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - static std::string convertMessageTypeToString(Message::Type type); - static Message::Type convertMessageTypeFromString(const std::string& type); + static std::string convertMessageTypeToString(Message::Type type); + static Message::Type convertMessageTypeFromString(const std::string& type); - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PresenceConvertor.cpp b/Sluift/ElementConvertors/PresenceConvertor.cpp index edf3941..1b423cc 100644 --- a/Sluift/ElementConvertors/PresenceConvertor.cpp +++ b/Sluift/ElementConvertors/PresenceConvertor.cpp @@ -14,84 +14,84 @@ using namespace Swift; -PresenceConvertor::PresenceConvertor(LuaElementConvertors* convertors) : - StanzaConvertor<Presence>("presence"), - convertors(convertors) { +PresenceConvertor::PresenceConvertor(LuaElementConvertors* convertors) : + StanzaConvertor<Presence>("presence"), + convertors(convertors) { } PresenceConvertor::~PresenceConvertor() { } boost::shared_ptr<Presence> PresenceConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Presence> result = getStanza(L, convertors); - lua_getfield(L, -1, "type"); - if (lua_isstring(L, -1)) { - result->setType(convertPresenceTypeFromString(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<Presence> result = getStanza(L, convertors); + lua_getfield(L, -1, "type"); + if (lua_isstring(L, -1)) { + result->setType(convertPresenceTypeFromString(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PresenceConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Presence> stanza) { - pushStanza(L, stanza, convertors); - const std::string type = convertPresenceTypeToString(stanza->getType()); - lua_pushstring(L, type.c_str()); - lua_setfield(L, -2, "type"); + pushStanza(L, stanza, convertors); + const std::string type = convertPresenceTypeToString(stanza->getType()); + lua_pushstring(L, type.c_str()); + lua_setfield(L, -2, "type"); } boost::optional<LuaElementConvertor::Documentation> PresenceConvertor::getDocumentation() const { - return Documentation( - "Presence", - "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( + "Presence", + "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 PresenceConvertor::convertPresenceTypeToString(Presence::Type type) { - switch (type) { - case Presence::Available: return "available"; - case Presence::Error: return "error"; - case Presence::Probe: return "probe"; - case Presence::Subscribe: return "subscribe"; - case Presence::Subscribed: return "subscribed"; - case Presence::Unavailable: return "unavailable"; - case Presence::Unsubscribe: return "unsubscribe"; - case Presence::Unsubscribed: return "unsubscribed"; - } - assert(false); - return ""; + switch (type) { + case Presence::Available: return "available"; + case Presence::Error: return "error"; + case Presence::Probe: return "probe"; + case Presence::Subscribe: return "subscribe"; + case Presence::Subscribed: return "subscribed"; + case Presence::Unavailable: return "unavailable"; + case Presence::Unsubscribe: return "unsubscribe"; + case Presence::Unsubscribed: return "unsubscribed"; + } + assert(false); + return ""; } Presence::Type PresenceConvertor::convertPresenceTypeFromString(const std::string& type) { - if (type == "available") { - return Presence::Available; - } - else if (type == "error") { - return Presence::Error; - } - else if (type == "probe") { - return Presence::Probe; - } - else if (type == "subscribe") { - return Presence::Subscribe; - } - else if (type == "subscribed") { - return Presence::Subscribed; - } - else if (type == "unavailable") { - return Presence::Unavailable; - } - else if (type == "unsubscribe") { - return Presence::Unsubscribe; - } - else if (type == "unsubscribed") { - return Presence::Unsubscribed; - } - else { - throw Lua::Exception("Illegal presence type: '" + type + "'"); - } + if (type == "available") { + return Presence::Available; + } + else if (type == "error") { + return Presence::Error; + } + else if (type == "probe") { + return Presence::Probe; + } + else if (type == "subscribe") { + return Presence::Subscribe; + } + else if (type == "subscribed") { + return Presence::Subscribed; + } + else if (type == "unavailable") { + return Presence::Unavailable; + } + else if (type == "unsubscribe") { + return Presence::Unsubscribe; + } + else if (type == "unsubscribed") { + return Presence::Unsubscribed; + } + else { + throw Lua::Exception("Illegal presence type: '" + type + "'"); + } } diff --git a/Sluift/ElementConvertors/PresenceConvertor.h b/Sluift/ElementConvertors/PresenceConvertor.h index c919f3a..ae2e78a 100644 --- a/Sluift/ElementConvertors/PresenceConvertor.h +++ b/Sluift/ElementConvertors/PresenceConvertor.h @@ -12,23 +12,23 @@ #include <Sluift/ElementConvertors/StanzaConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PresenceConvertor : public StanzaConvertor<Presence> { - public: - PresenceConvertor(LuaElementConvertors* convertors); - virtual ~PresenceConvertor(); + class PresenceConvertor : public StanzaConvertor<Presence> { + public: + PresenceConvertor(LuaElementConvertors* convertors); + virtual ~PresenceConvertor(); - virtual boost::shared_ptr<Presence> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Presence>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<Presence> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Presence>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - static std::string convertPresenceTypeToString(Presence::Type type); - static Presence::Type convertPresenceTypeFromString(const std::string& type); + static std::string convertPresenceTypeToString(Presence::Type type); + static Presence::Type convertPresenceTypeFromString(const std::string& type); - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubAffiliationConvertor.cpp b/Sluift/ElementConvertors/PubSubAffiliationConvertor.cpp index 717d01c..84d8f55 100644 --- a/Sluift/ElementConvertors/PubSubAffiliationConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubAffiliationConvertor.cpp @@ -13,76 +13,76 @@ using namespace Swift; PubSubAffiliationConvertor::PubSubAffiliationConvertor() : - GenericLuaElementConvertor<PubSubAffiliation>("pubsub_affiliation") { + GenericLuaElementConvertor<PubSubAffiliation>("pubsub_affiliation") { } PubSubAffiliationConvertor::~PubSubAffiliationConvertor() { } boost::shared_ptr<PubSubAffiliation> PubSubAffiliationConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubAffiliation> result = boost::make_shared<PubSubAffiliation>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "type"); - if (lua_isstring(L, -1)) { - if (std::string(lua_tostring(L, -1)) == "none") { - result->setType(PubSubAffiliation::None); - } - if (std::string(lua_tostring(L, -1)) == "member") { - result->setType(PubSubAffiliation::Member); - } - if (std::string(lua_tostring(L, -1)) == "outcast") { - result->setType(PubSubAffiliation::Outcast); - } - if (std::string(lua_tostring(L, -1)) == "owner") { - result->setType(PubSubAffiliation::Owner); - } - if (std::string(lua_tostring(L, -1)) == "publisher") { - result->setType(PubSubAffiliation::Publisher); - } - if (std::string(lua_tostring(L, -1)) == "publish_only") { - result->setType(PubSubAffiliation::PublishOnly); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubAffiliation> result = boost::make_shared<PubSubAffiliation>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "type"); + if (lua_isstring(L, -1)) { + if (std::string(lua_tostring(L, -1)) == "none") { + result->setType(PubSubAffiliation::None); + } + if (std::string(lua_tostring(L, -1)) == "member") { + result->setType(PubSubAffiliation::Member); + } + if (std::string(lua_tostring(L, -1)) == "outcast") { + result->setType(PubSubAffiliation::Outcast); + } + if (std::string(lua_tostring(L, -1)) == "owner") { + result->setType(PubSubAffiliation::Owner); + } + if (std::string(lua_tostring(L, -1)) == "publisher") { + result->setType(PubSubAffiliation::Publisher); + } + if (std::string(lua_tostring(L, -1)) == "publish_only") { + result->setType(PubSubAffiliation::PublishOnly); + } + } + lua_pop(L, 1); + return result; } void PubSubAffiliationConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubAffiliation> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - switch (payload->getType()) { - case PubSubAffiliation::None: - lua_pushstring(L, "none"); - break; - case PubSubAffiliation::Member: - lua_pushstring(L, "member"); - break; - case PubSubAffiliation::Outcast: - lua_pushstring(L, "outcast"); - break; - case PubSubAffiliation::Owner: - lua_pushstring(L, "owner"); - break; - case PubSubAffiliation::Publisher: - lua_pushstring(L, "publisher"); - break; - case PubSubAffiliation::PublishOnly: - lua_pushstring(L, "publish_only"); - break; - } - lua_setfield(L, -2, "type"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + switch (payload->getType()) { + case PubSubAffiliation::None: + lua_pushstring(L, "none"); + break; + case PubSubAffiliation::Member: + lua_pushstring(L, "member"); + break; + case PubSubAffiliation::Outcast: + lua_pushstring(L, "outcast"); + break; + case PubSubAffiliation::Owner: + lua_pushstring(L, "owner"); + break; + case PubSubAffiliation::Publisher: + lua_pushstring(L, "publisher"); + break; + case PubSubAffiliation::PublishOnly: + lua_pushstring(L, "publish_only"); + break; + } + lua_setfield(L, -2, "type"); } boost::optional<LuaElementConvertor::Documentation> PubSubAffiliationConvertor::getDocumentation() const { - return Documentation( - "PubSubAffiliation", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `type`: `\"none\"`, `\"member\"`, `\"outcast\"`, `\"owner\"`, `\"publisher\"`, or `\"publish_only\"`\n" - ); + return Documentation( + "PubSubAffiliation", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `type`: `\"none\"`, `\"member\"`, `\"outcast\"`, `\"owner\"`, `\"publisher\"`, or `\"publish_only\"`\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubAffiliationConvertor.h b/Sluift/ElementConvertors/PubSubAffiliationConvertor.h index 7faf9e5..e91342c 100644 --- a/Sluift/ElementConvertors/PubSubAffiliationConvertor.h +++ b/Sluift/ElementConvertors/PubSubAffiliationConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubAffiliationConvertor : public GenericLuaElementConvertor<PubSubAffiliation> { - public: - PubSubAffiliationConvertor(); - virtual ~PubSubAffiliationConvertor(); + class PubSubAffiliationConvertor : public GenericLuaElementConvertor<PubSubAffiliation> { + public: + PubSubAffiliationConvertor(); + virtual ~PubSubAffiliationConvertor(); - virtual boost::shared_ptr<PubSubAffiliation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubAffiliation>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubAffiliation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubAffiliation>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubAffiliationsConvertor.cpp b/Sluift/ElementConvertors/PubSubAffiliationsConvertor.cpp index e0d003c..f5eab7a 100644 --- a/Sluift/ElementConvertors/PubSubAffiliationsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubAffiliationsConvertor.cpp @@ -17,63 +17,63 @@ using namespace Swift; -PubSubAffiliationsConvertor::PubSubAffiliationsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubAffiliations>("pubsub_affiliations"), - convertors(convertors) { +PubSubAffiliationsConvertor::PubSubAffiliationsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubAffiliations>("pubsub_affiliations"), + convertors(convertors) { } PubSubAffiliationsConvertor::~PubSubAffiliationsConvertor() { } boost::shared_ptr<PubSubAffiliations> PubSubAffiliationsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubAffiliations> result = boost::make_shared<PubSubAffiliations>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubAffiliation> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubAffiliation> payload = boost::dynamic_pointer_cast<PubSubAffiliation>(convertors->convertFromLuaUntyped(L, -1, "pubsub_affiliation"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubAffiliations> result = boost::make_shared<PubSubAffiliations>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubAffiliation> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubAffiliation> payload = boost::dynamic_pointer_cast<PubSubAffiliation>(convertors->convertFromLuaUntyped(L, -1, "pubsub_affiliation"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setAffiliations(items); - } - return result; + result->setAffiliations(items); + } + return result; } void PubSubAffiliationsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubAffiliations> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (!payload->getAffiliations().empty()) { - { - int i = 0; - foreach(boost::shared_ptr<PubSubAffiliation> item, payload->getAffiliations()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (!payload->getAffiliations().empty()) { + { + int i = 0; + foreach(boost::shared_ptr<PubSubAffiliation> item, payload->getAffiliations()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + } } boost::optional<LuaElementConvertor::Documentation> PubSubAffiliationsConvertor::getDocumentation() const { - return Documentation( - "PubSubAffiliations", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `affiliations`: array<@{PubSubAffiliation}>\n" - ); + return Documentation( + "PubSubAffiliations", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `affiliations`: array<@{PubSubAffiliation}>\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubAffiliationsConvertor.h b/Sluift/ElementConvertors/PubSubAffiliationsConvertor.h index b98ff4c..965fb2a 100644 --- a/Sluift/ElementConvertors/PubSubAffiliationsConvertor.h +++ b/Sluift/ElementConvertors/PubSubAffiliationsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubAffiliationsConvertor : public GenericLuaElementConvertor<PubSubAffiliations> { - public: - PubSubAffiliationsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubAffiliationsConvertor(); + class PubSubAffiliationsConvertor : public GenericLuaElementConvertor<PubSubAffiliations> { + public: + PubSubAffiliationsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubAffiliationsConvertor(); - virtual boost::shared_ptr<PubSubAffiliations> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubAffiliations>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubAffiliations> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubAffiliations>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubConfigureConvertor.cpp b/Sluift/ElementConvertors/PubSubConfigureConvertor.cpp index 9153d9e..13ffb7b 100644 --- a/Sluift/ElementConvertors/PubSubConfigureConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubConfigureConvertor.cpp @@ -14,37 +14,37 @@ using namespace Swift; -PubSubConfigureConvertor::PubSubConfigureConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubConfigure>("pubsub_configure"), - convertors(convertors) { +PubSubConfigureConvertor::PubSubConfigureConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubConfigure>("pubsub_configure"), + convertors(convertors) { } PubSubConfigureConvertor::~PubSubConfigureConvertor() { } boost::shared_ptr<PubSubConfigure> PubSubConfigureConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubConfigure> result = boost::make_shared<PubSubConfigure>(); - lua_getfield(L, -1, "data"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { - result->setData(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubConfigure> result = boost::make_shared<PubSubConfigure>(); + lua_getfield(L, -1, "data"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { + result->setData(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubConfigureConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubConfigure> payload) { - lua_createtable(L, 0, 0); - if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { - lua_setfield(L, -2, "data"); - } + lua_createtable(L, 0, 0); + if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { + lua_setfield(L, -2, "data"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubConfigureConvertor::getDocumentation() const { - return Documentation( - "PubSubConfigure", - "This table has the following fields:\n\n" - "- `data`: @{Form}\n" - ); + return Documentation( + "PubSubConfigure", + "This table has the following fields:\n\n" + "- `data`: @{Form}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubConfigureConvertor.h b/Sluift/ElementConvertors/PubSubConfigureConvertor.h index 27aa906..865d30a 100644 --- a/Sluift/ElementConvertors/PubSubConfigureConvertor.h +++ b/Sluift/ElementConvertors/PubSubConfigureConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubConfigureConvertor : public GenericLuaElementConvertor<PubSubConfigure> { - public: - PubSubConfigureConvertor(LuaElementConvertors* convertors); - virtual ~PubSubConfigureConvertor(); + class PubSubConfigureConvertor : public GenericLuaElementConvertor<PubSubConfigure> { + public: + PubSubConfigureConvertor(LuaElementConvertors* convertors); + virtual ~PubSubConfigureConvertor(); - virtual boost::shared_ptr<PubSubConfigure> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubConfigure>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubConfigure> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubConfigure>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubCreateConvertor.cpp b/Sluift/ElementConvertors/PubSubCreateConvertor.cpp index af5056f..8a4086b 100644 --- a/Sluift/ElementConvertors/PubSubCreateConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubCreateConvertor.cpp @@ -14,45 +14,45 @@ using namespace Swift; -PubSubCreateConvertor::PubSubCreateConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubCreate>("pubsub_create"), - convertors(convertors) { +PubSubCreateConvertor::PubSubCreateConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubCreate>("pubsub_create"), + convertors(convertors) { } PubSubCreateConvertor::~PubSubCreateConvertor() { } boost::shared_ptr<PubSubCreate> PubSubCreateConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubCreate> result = boost::make_shared<PubSubCreate>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "configure"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubConfigure> payload = boost::dynamic_pointer_cast<PubSubConfigure>(convertors->convertFromLuaUntyped(L, -1, "pubsub_configure"))) { - result->setConfigure(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubCreate> result = boost::make_shared<PubSubCreate>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "configure"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubConfigure> payload = boost::dynamic_pointer_cast<PubSubConfigure>(convertors->convertFromLuaUntyped(L, -1, "pubsub_configure"))) { + result->setConfigure(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubCreateConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubCreate> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (convertors->convertToLuaUntyped(L, payload->getConfigure()) > 0) { - lua_setfield(L, -2, "configure"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (convertors->convertToLuaUntyped(L, payload->getConfigure()) > 0) { + lua_setfield(L, -2, "configure"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubCreateConvertor::getDocumentation() const { - return Documentation( - "PubSubCreate", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `configure`: @{PubSubConfigure}\n" - ); + return Documentation( + "PubSubCreate", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `configure`: @{PubSubConfigure}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubCreateConvertor.h b/Sluift/ElementConvertors/PubSubCreateConvertor.h index bcf06af..189da27 100644 --- a/Sluift/ElementConvertors/PubSubCreateConvertor.h +++ b/Sluift/ElementConvertors/PubSubCreateConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubCreateConvertor : public GenericLuaElementConvertor<PubSubCreate> { - public: - PubSubCreateConvertor(LuaElementConvertors* convertors); - virtual ~PubSubCreateConvertor(); + class PubSubCreateConvertor : public GenericLuaElementConvertor<PubSubCreate> { + public: + PubSubCreateConvertor(LuaElementConvertors* convertors); + virtual ~PubSubCreateConvertor(); - virtual boost::shared_ptr<PubSubCreate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubCreate>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubCreate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubCreate>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubDefaultConvertor.cpp b/Sluift/ElementConvertors/PubSubDefaultConvertor.cpp index 43dcbe4..5f8fe24 100644 --- a/Sluift/ElementConvertors/PubSubDefaultConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubDefaultConvertor.cpp @@ -13,60 +13,60 @@ using namespace Swift; PubSubDefaultConvertor::PubSubDefaultConvertor() : - GenericLuaElementConvertor<PubSubDefault>("pubsub_default") { + GenericLuaElementConvertor<PubSubDefault>("pubsub_default") { } PubSubDefaultConvertor::~PubSubDefaultConvertor() { } boost::shared_ptr<PubSubDefault> PubSubDefaultConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubDefault> result = boost::make_shared<PubSubDefault>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "type"); - if (lua_isstring(L, -1)) { - if (std::string(lua_tostring(L, -1)) == "none") { - result->setType(PubSubDefault::None); - } - if (std::string(lua_tostring(L, -1)) == "collection") { - result->setType(PubSubDefault::Collection); - } - if (std::string(lua_tostring(L, -1)) == "leaf") { - result->setType(PubSubDefault::Leaf); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubDefault> result = boost::make_shared<PubSubDefault>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "type"); + if (lua_isstring(L, -1)) { + if (std::string(lua_tostring(L, -1)) == "none") { + result->setType(PubSubDefault::None); + } + if (std::string(lua_tostring(L, -1)) == "collection") { + result->setType(PubSubDefault::Collection); + } + if (std::string(lua_tostring(L, -1)) == "leaf") { + result->setType(PubSubDefault::Leaf); + } + } + lua_pop(L, 1); + return result; } void PubSubDefaultConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubDefault> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - switch (payload->getType()) { - case PubSubDefault::None: - lua_pushstring(L, "none"); - break; - case PubSubDefault::Collection: - lua_pushstring(L, "collection"); - break; - case PubSubDefault::Leaf: - lua_pushstring(L, "leaf"); - break; - } - lua_setfield(L, -2, "type"); + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + switch (payload->getType()) { + case PubSubDefault::None: + lua_pushstring(L, "none"); + break; + case PubSubDefault::Collection: + lua_pushstring(L, "collection"); + break; + case PubSubDefault::Leaf: + lua_pushstring(L, "leaf"); + break; + } + lua_setfield(L, -2, "type"); } boost::optional<LuaElementConvertor::Documentation> PubSubDefaultConvertor::getDocumentation() const { - return Documentation( - "PubSubDefault", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `type`: `\"none\"`, `\"collection\"`, or `\"leaf\"`\n" - ); + return Documentation( + "PubSubDefault", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `type`: `\"none\"`, `\"collection\"`, or `\"leaf\"`\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubDefaultConvertor.h b/Sluift/ElementConvertors/PubSubDefaultConvertor.h index 2eeeaa1..968e03e 100644 --- a/Sluift/ElementConvertors/PubSubDefaultConvertor.h +++ b/Sluift/ElementConvertors/PubSubDefaultConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubDefaultConvertor : public GenericLuaElementConvertor<PubSubDefault> { - public: - PubSubDefaultConvertor(); - virtual ~PubSubDefaultConvertor(); + class PubSubDefaultConvertor : public GenericLuaElementConvertor<PubSubDefault> { + public: + PubSubDefaultConvertor(); + virtual ~PubSubDefaultConvertor(); - virtual boost::shared_ptr<PubSubDefault> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubDefault>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubDefault> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubDefault>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventAssociateConvertor.cpp b/Sluift/ElementConvertors/PubSubEventAssociateConvertor.cpp index fdfec29..bc43b93 100644 --- a/Sluift/ElementConvertors/PubSubEventAssociateConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventAssociateConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubEventAssociateConvertor::PubSubEventAssociateConvertor() : - GenericLuaElementConvertor<PubSubEventAssociate>("pubsub_event_associate") { + GenericLuaElementConvertor<PubSubEventAssociate>("pubsub_event_associate") { } PubSubEventAssociateConvertor::~PubSubEventAssociateConvertor() { } boost::shared_ptr<PubSubEventAssociate> PubSubEventAssociateConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventAssociate> result = boost::make_shared<PubSubEventAssociate>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventAssociate> result = boost::make_shared<PubSubEventAssociate>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubEventAssociateConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventAssociate> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); } boost::optional<LuaElementConvertor::Documentation> PubSubEventAssociateConvertor::getDocumentation() const { - return Documentation( - "PubSubEventAssociate", - "This table has the following fields:\n\n" - "- `node`: string\n" - ); + return Documentation( + "PubSubEventAssociate", + "This table has the following fields:\n\n" + "- `node`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventAssociateConvertor.h b/Sluift/ElementConvertors/PubSubEventAssociateConvertor.h index 116947d..2ba3b40 100644 --- a/Sluift/ElementConvertors/PubSubEventAssociateConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventAssociateConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventAssociateConvertor : public GenericLuaElementConvertor<PubSubEventAssociate> { - public: - PubSubEventAssociateConvertor(); - virtual ~PubSubEventAssociateConvertor(); + class PubSubEventAssociateConvertor : public GenericLuaElementConvertor<PubSubEventAssociate> { + public: + PubSubEventAssociateConvertor(); + virtual ~PubSubEventAssociateConvertor(); - virtual boost::shared_ptr<PubSubEventAssociate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventAssociate>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubEventAssociate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventAssociate>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventCollectionConvertor.cpp b/Sluift/ElementConvertors/PubSubEventCollectionConvertor.cpp index 35eeda4..88c7419 100644 --- a/Sluift/ElementConvertors/PubSubEventCollectionConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventCollectionConvertor.cpp @@ -14,58 +14,58 @@ using namespace Swift; -PubSubEventCollectionConvertor::PubSubEventCollectionConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubEventCollection>("pubsub_event_collection"), - convertors(convertors) { +PubSubEventCollectionConvertor::PubSubEventCollectionConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubEventCollection>("pubsub_event_collection"), + convertors(convertors) { } PubSubEventCollectionConvertor::~PubSubEventCollectionConvertor() { } boost::shared_ptr<PubSubEventCollection> PubSubEventCollectionConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventCollection> result = boost::make_shared<PubSubEventCollection>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "disassociate"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubEventDisassociate> payload = boost::dynamic_pointer_cast<PubSubEventDisassociate>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_disassociate"))) { - result->setDisassociate(payload); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "associate"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubEventAssociate> payload = boost::dynamic_pointer_cast<PubSubEventAssociate>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_associate"))) { - result->setAssociate(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventCollection> result = boost::make_shared<PubSubEventCollection>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "disassociate"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubEventDisassociate> payload = boost::dynamic_pointer_cast<PubSubEventDisassociate>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_disassociate"))) { + result->setDisassociate(payload); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "associate"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubEventAssociate> payload = boost::dynamic_pointer_cast<PubSubEventAssociate>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_associate"))) { + result->setAssociate(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubEventCollectionConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventCollection> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (convertors->convertToLuaUntyped(L, payload->getDisassociate()) > 0) { - lua_setfield(L, -2, "disassociate"); - } - if (convertors->convertToLuaUntyped(L, payload->getAssociate()) > 0) { - lua_setfield(L, -2, "associate"); - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (convertors->convertToLuaUntyped(L, payload->getDisassociate()) > 0) { + lua_setfield(L, -2, "disassociate"); + } + if (convertors->convertToLuaUntyped(L, payload->getAssociate()) > 0) { + lua_setfield(L, -2, "associate"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubEventCollectionConvertor::getDocumentation() const { - return Documentation( - "PubSubEventCollection", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `disassociate`: @{PubSubEventDisassociate}\n" - "- `associate`: @{PubSubEventAssociate}\n" - ); + return Documentation( + "PubSubEventCollection", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `disassociate`: @{PubSubEventDisassociate}\n" + "- `associate`: @{PubSubEventAssociate}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventCollectionConvertor.h b/Sluift/ElementConvertors/PubSubEventCollectionConvertor.h index 38ffd64..7c11178 100644 --- a/Sluift/ElementConvertors/PubSubEventCollectionConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventCollectionConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventCollectionConvertor : public GenericLuaElementConvertor<PubSubEventCollection> { - public: - PubSubEventCollectionConvertor(LuaElementConvertors* convertors); - virtual ~PubSubEventCollectionConvertor(); + class PubSubEventCollectionConvertor : public GenericLuaElementConvertor<PubSubEventCollection> { + public: + PubSubEventCollectionConvertor(LuaElementConvertors* convertors); + virtual ~PubSubEventCollectionConvertor(); - virtual boost::shared_ptr<PubSubEventCollection> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventCollection>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubEventCollection> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventCollection>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.cpp b/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.cpp index 72c15ae..2c149fa 100644 --- a/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.cpp @@ -14,45 +14,45 @@ using namespace Swift; -PubSubEventConfigurationConvertor::PubSubEventConfigurationConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubEventConfiguration>("pubsub_event_configuration"), - convertors(convertors) { +PubSubEventConfigurationConvertor::PubSubEventConfigurationConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubEventConfiguration>("pubsub_event_configuration"), + convertors(convertors) { } PubSubEventConfigurationConvertor::~PubSubEventConfigurationConvertor() { } boost::shared_ptr<PubSubEventConfiguration> PubSubEventConfigurationConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventConfiguration> result = boost::make_shared<PubSubEventConfiguration>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "data"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { - result->setData(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventConfiguration> result = boost::make_shared<PubSubEventConfiguration>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "data"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { + result->setData(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubEventConfigurationConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventConfiguration> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { - lua_setfield(L, -2, "data"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { + lua_setfield(L, -2, "data"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubEventConfigurationConvertor::getDocumentation() const { - return Documentation( - "PubSubEventConfiguration", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `data`: @{Form}\n" - ); + return Documentation( + "PubSubEventConfiguration", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `data`: @{Form}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.h b/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.h index 7e8ea02..e8a17e7 100644 --- a/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventConfigurationConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventConfigurationConvertor : public GenericLuaElementConvertor<PubSubEventConfiguration> { - public: - PubSubEventConfigurationConvertor(LuaElementConvertors* convertors); - virtual ~PubSubEventConfigurationConvertor(); + class PubSubEventConfigurationConvertor : public GenericLuaElementConvertor<PubSubEventConfiguration> { + public: + PubSubEventConfigurationConvertor(LuaElementConvertors* convertors); + virtual ~PubSubEventConfigurationConvertor(); - virtual boost::shared_ptr<PubSubEventConfiguration> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventConfiguration>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubEventConfiguration> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventConfiguration>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventConvertor.cpp b/Sluift/ElementConvertors/PubSubEventConvertor.cpp index fa64e7f..2330bcc 100644 --- a/Sluift/ElementConvertors/PubSubEventConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventConvertor.cpp @@ -14,22 +14,22 @@ using namespace Swift; -PubSubEventConvertor::PubSubEventConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubEvent>("pubsub_event"), - convertors(convertors) { +PubSubEventConvertor::PubSubEventConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubEvent>("pubsub_event"), + convertors(convertors) { } PubSubEventConvertor::~PubSubEventConvertor() { } boost::shared_ptr<PubSubEvent> PubSubEventConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEvent> result = boost::make_shared<PubSubEvent>(); - if (boost::shared_ptr<PubSubEventPayload> payload = boost::dynamic_pointer_cast<PubSubEventPayload>(convertors->convertFromLua(L, -1))) { - result->setPayload(payload); - } - return result; + boost::shared_ptr<PubSubEvent> result = boost::make_shared<PubSubEvent>(); + if (boost::shared_ptr<PubSubEventPayload> payload = boost::dynamic_pointer_cast<PubSubEventPayload>(convertors->convertFromLua(L, -1))) { + result->setPayload(payload); + } + return result; } void PubSubEventConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEvent> event) { - convertors->convertToLua(L, event->getPayload()); + convertors->convertToLua(L, event->getPayload()); } diff --git a/Sluift/ElementConvertors/PubSubEventConvertor.h b/Sluift/ElementConvertors/PubSubEventConvertor.h index ab19c8f..2797b88 100644 --- a/Sluift/ElementConvertors/PubSubEventConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventConvertor.h @@ -12,17 +12,17 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventConvertor : public GenericLuaElementConvertor<PubSubEvent> { - public: - PubSubEventConvertor(LuaElementConvertors* convertors); - virtual ~PubSubEventConvertor(); + class PubSubEventConvertor : public GenericLuaElementConvertor<PubSubEvent> { + public: + PubSubEventConvertor(LuaElementConvertors* convertors); + virtual ~PubSubEventConvertor(); - virtual boost::shared_ptr<PubSubEvent> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEvent>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubEvent> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEvent>) SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventDeleteConvertor.cpp b/Sluift/ElementConvertors/PubSubEventDeleteConvertor.cpp index d44d1a6..aa77319 100644 --- a/Sluift/ElementConvertors/PubSubEventDeleteConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventDeleteConvertor.cpp @@ -14,45 +14,45 @@ using namespace Swift; -PubSubEventDeleteConvertor::PubSubEventDeleteConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubEventDelete>("pubsub_event_delete"), - convertors(convertors) { +PubSubEventDeleteConvertor::PubSubEventDeleteConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubEventDelete>("pubsub_event_delete"), + convertors(convertors) { } PubSubEventDeleteConvertor::~PubSubEventDeleteConvertor() { } boost::shared_ptr<PubSubEventDelete> PubSubEventDeleteConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventDelete> result = boost::make_shared<PubSubEventDelete>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "redirects"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubEventRedirect> payload = boost::dynamic_pointer_cast<PubSubEventRedirect>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_redirect"))) { - result->setRedirects(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventDelete> result = boost::make_shared<PubSubEventDelete>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "redirects"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubEventRedirect> payload = boost::dynamic_pointer_cast<PubSubEventRedirect>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_redirect"))) { + result->setRedirects(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubEventDeleteConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventDelete> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (convertors->convertToLuaUntyped(L, payload->getRedirects()) > 0) { - lua_setfield(L, -2, "redirects"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (convertors->convertToLuaUntyped(L, payload->getRedirects()) > 0) { + lua_setfield(L, -2, "redirects"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubEventDeleteConvertor::getDocumentation() const { - return Documentation( - "PubSubEventDelete", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `redirects`: @{PubSubEventRedirect}\n" - ); + return Documentation( + "PubSubEventDelete", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `redirects`: @{PubSubEventRedirect}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventDeleteConvertor.h b/Sluift/ElementConvertors/PubSubEventDeleteConvertor.h index c8ff8cd..b53c3d7 100644 --- a/Sluift/ElementConvertors/PubSubEventDeleteConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventDeleteConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventDeleteConvertor : public GenericLuaElementConvertor<PubSubEventDelete> { - public: - PubSubEventDeleteConvertor(LuaElementConvertors* convertors); - virtual ~PubSubEventDeleteConvertor(); + class PubSubEventDeleteConvertor : public GenericLuaElementConvertor<PubSubEventDelete> { + public: + PubSubEventDeleteConvertor(LuaElementConvertors* convertors); + virtual ~PubSubEventDeleteConvertor(); - virtual boost::shared_ptr<PubSubEventDelete> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventDelete>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubEventDelete> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventDelete>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.cpp b/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.cpp index 4811cc2..1d417ac 100644 --- a/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubEventDisassociateConvertor::PubSubEventDisassociateConvertor() : - GenericLuaElementConvertor<PubSubEventDisassociate>("pubsub_event_disassociate") { + GenericLuaElementConvertor<PubSubEventDisassociate>("pubsub_event_disassociate") { } PubSubEventDisassociateConvertor::~PubSubEventDisassociateConvertor() { } boost::shared_ptr<PubSubEventDisassociate> PubSubEventDisassociateConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventDisassociate> result = boost::make_shared<PubSubEventDisassociate>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventDisassociate> result = boost::make_shared<PubSubEventDisassociate>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubEventDisassociateConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventDisassociate> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); } boost::optional<LuaElementConvertor::Documentation> PubSubEventDisassociateConvertor::getDocumentation() const { - return Documentation( - "PubSubEventDisassociate", - "This table has the following fields:\n\n" - "- `node`: string\n" - ); + return Documentation( + "PubSubEventDisassociate", + "This table has the following fields:\n\n" + "- `node`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.h b/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.h index 69f2d11..9a34ac3 100644 --- a/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventDisassociateConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventDisassociateConvertor : public GenericLuaElementConvertor<PubSubEventDisassociate> { - public: - PubSubEventDisassociateConvertor(); - virtual ~PubSubEventDisassociateConvertor(); + class PubSubEventDisassociateConvertor : public GenericLuaElementConvertor<PubSubEventDisassociate> { + public: + PubSubEventDisassociateConvertor(); + virtual ~PubSubEventDisassociateConvertor(); - virtual boost::shared_ptr<PubSubEventDisassociate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventDisassociate>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubEventDisassociate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventDisassociate>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventItemConvertor.cpp b/Sluift/ElementConvertors/PubSubEventItemConvertor.cpp index 7e6131a..c8373f5 100644 --- a/Sluift/ElementConvertors/PubSubEventItemConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventItemConvertor.cpp @@ -17,87 +17,87 @@ using namespace Swift; -PubSubEventItemConvertor::PubSubEventItemConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubEventItem>("pubsub_event_item"), - convertors(convertors) { +PubSubEventItemConvertor::PubSubEventItemConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubEventItem>("pubsub_event_item"), + convertors(convertors) { } PubSubEventItemConvertor::~PubSubEventItemConvertor() { } boost::shared_ptr<PubSubEventItem> PubSubEventItemConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventItem> result = boost::make_shared<PubSubEventItem>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "publisher"); - if (lua_isstring(L, -1)) { - result->setPublisher(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "data"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<Payload> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubEventItem> result = boost::make_shared<PubSubEventItem>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "publisher"); + if (lua_isstring(L, -1)) { + result->setPublisher(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "data"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<Payload> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setData(items); - } - 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; + result->setData(items); + } + 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 PubSubEventItemConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventItem> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (payload->getPublisher()) { - lua_pushstring(L, (*payload->getPublisher()).c_str()); - lua_setfield(L, -2, "publisher"); - } - if (!payload->getData().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getData().size()), 0); - { - int i = 0; - foreach(boost::shared_ptr<Payload> item, payload->getData()) { - if (convertors->convertToLua(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "data"); - } - if (payload->getID()) { - lua_pushstring(L, (*payload->getID()).c_str()); - lua_setfield(L, -2, "id"); - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (payload->getPublisher()) { + lua_pushstring(L, (*payload->getPublisher()).c_str()); + lua_setfield(L, -2, "publisher"); + } + if (!payload->getData().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getData().size()), 0); + { + int i = 0; + foreach(boost::shared_ptr<Payload> item, payload->getData()) { + if (convertors->convertToLua(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "data"); + } + if (payload->getID()) { + lua_pushstring(L, (*payload->getID()).c_str()); + lua_setfield(L, -2, "id"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubEventItemConvertor::getDocumentation() const { - return Documentation( - "PubSubEventItem", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `publisher`: string (Optional)\n" - "- `data`: array<element (table)>\n" - "- `id`: string (Optional)\n" - ); + return Documentation( + "PubSubEventItem", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `publisher`: string (Optional)\n" + "- `data`: array<element (table)>\n" + "- `id`: string (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventItemConvertor.h b/Sluift/ElementConvertors/PubSubEventItemConvertor.h index 7dfeef6..1f67b9f 100644 --- a/Sluift/ElementConvertors/PubSubEventItemConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventItemConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventItemConvertor : public GenericLuaElementConvertor<PubSubEventItem> { - public: - PubSubEventItemConvertor(LuaElementConvertors* convertors); - virtual ~PubSubEventItemConvertor(); + class PubSubEventItemConvertor : public GenericLuaElementConvertor<PubSubEventItem> { + public: + PubSubEventItemConvertor(LuaElementConvertors* convertors); + virtual ~PubSubEventItemConvertor(); - virtual boost::shared_ptr<PubSubEventItem> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventItem>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubEventItem> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventItem>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventItemsConvertor.cpp b/Sluift/ElementConvertors/PubSubEventItemsConvertor.cpp index 66400e9..0c2035f 100644 --- a/Sluift/ElementConvertors/PubSubEventItemsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventItemsConvertor.cpp @@ -17,96 +17,96 @@ using namespace Swift; -PubSubEventItemsConvertor::PubSubEventItemsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubEventItems>("pubsub_event_items"), - convertors(convertors) { +PubSubEventItemsConvertor::PubSubEventItemsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubEventItems>("pubsub_event_items"), + convertors(convertors) { } PubSubEventItemsConvertor::~PubSubEventItemsConvertor() { } boost::shared_ptr<PubSubEventItems> PubSubEventItemsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventItems> result = boost::make_shared<PubSubEventItems>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "items"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubEventItem> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubEventItem> payload = boost::dynamic_pointer_cast<PubSubEventItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_item"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubEventItems> result = boost::make_shared<PubSubEventItems>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "items"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubEventItem> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubEventItem> payload = boost::dynamic_pointer_cast<PubSubEventItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_item"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setItems(items); - } - lua_pop(L, 1); - lua_getfield(L, -1, "retracts"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubEventRetract> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubEventRetract> payload = boost::dynamic_pointer_cast<PubSubEventRetract>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_retract"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + result->setItems(items); + } + lua_pop(L, 1); + lua_getfield(L, -1, "retracts"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubEventRetract> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubEventRetract> payload = boost::dynamic_pointer_cast<PubSubEventRetract>(convertors->convertFromLuaUntyped(L, -1, "pubsub_event_retract"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setRetracts(items); - } - lua_pop(L, 1); - return result; + result->setRetracts(items); + } + lua_pop(L, 1); + return result; } void PubSubEventItemsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventItems> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (!payload->getItems().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getItems().size()), 0); - { - int i = 0; - foreach(boost::shared_ptr<PubSubEventItem> item, payload->getItems()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "items"); - } - if (!payload->getRetracts().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getRetracts().size()), 0); - { - int i = 0; - foreach(boost::shared_ptr<PubSubEventRetract> item, payload->getRetracts()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "retracts"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (!payload->getItems().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getItems().size()), 0); + { + int i = 0; + foreach(boost::shared_ptr<PubSubEventItem> item, payload->getItems()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "items"); + } + if (!payload->getRetracts().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getRetracts().size()), 0); + { + int i = 0; + foreach(boost::shared_ptr<PubSubEventRetract> item, payload->getRetracts()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "retracts"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubEventItemsConvertor::getDocumentation() const { - return Documentation( - "PubSubEventItems", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `items`: array<@{PubSubEventItem}>\n" - "- `retracts`: array<@{PubSubEventRetract}>\n" - ); + return Documentation( + "PubSubEventItems", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `items`: array<@{PubSubEventItem}>\n" + "- `retracts`: array<@{PubSubEventRetract}>\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventItemsConvertor.h b/Sluift/ElementConvertors/PubSubEventItemsConvertor.h index 347200e..b644e7a 100644 --- a/Sluift/ElementConvertors/PubSubEventItemsConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventItemsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventItemsConvertor : public GenericLuaElementConvertor<PubSubEventItems> { - public: - PubSubEventItemsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubEventItemsConvertor(); + class PubSubEventItemsConvertor : public GenericLuaElementConvertor<PubSubEventItems> { + public: + PubSubEventItemsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubEventItemsConvertor(); - virtual boost::shared_ptr<PubSubEventItems> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventItems>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubEventItems> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventItems>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventPurgeConvertor.cpp b/Sluift/ElementConvertors/PubSubEventPurgeConvertor.cpp index bd036c1..3b67704 100644 --- a/Sluift/ElementConvertors/PubSubEventPurgeConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventPurgeConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubEventPurgeConvertor::PubSubEventPurgeConvertor() : - GenericLuaElementConvertor<PubSubEventPurge>("pubsub_event_purge") { + GenericLuaElementConvertor<PubSubEventPurge>("pubsub_event_purge") { } PubSubEventPurgeConvertor::~PubSubEventPurgeConvertor() { } boost::shared_ptr<PubSubEventPurge> PubSubEventPurgeConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventPurge> result = boost::make_shared<PubSubEventPurge>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventPurge> result = boost::make_shared<PubSubEventPurge>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubEventPurgeConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventPurge> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); } boost::optional<LuaElementConvertor::Documentation> PubSubEventPurgeConvertor::getDocumentation() const { - return Documentation( - "PubSubEventPurge", - "This table has the following fields:\n\n" - "- `node`: string\n" - ); + return Documentation( + "PubSubEventPurge", + "This table has the following fields:\n\n" + "- `node`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventPurgeConvertor.h b/Sluift/ElementConvertors/PubSubEventPurgeConvertor.h index 88af6f4..b149426 100644 --- a/Sluift/ElementConvertors/PubSubEventPurgeConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventPurgeConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventPurgeConvertor : public GenericLuaElementConvertor<PubSubEventPurge> { - public: - PubSubEventPurgeConvertor(); - virtual ~PubSubEventPurgeConvertor(); + class PubSubEventPurgeConvertor : public GenericLuaElementConvertor<PubSubEventPurge> { + public: + PubSubEventPurgeConvertor(); + virtual ~PubSubEventPurgeConvertor(); - virtual boost::shared_ptr<PubSubEventPurge> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventPurge>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubEventPurge> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventPurge>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventRedirectConvertor.cpp b/Sluift/ElementConvertors/PubSubEventRedirectConvertor.cpp index 81584e3..ac40d31 100644 --- a/Sluift/ElementConvertors/PubSubEventRedirectConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventRedirectConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubEventRedirectConvertor::PubSubEventRedirectConvertor() : - GenericLuaElementConvertor<PubSubEventRedirect>("pubsub_event_redirect") { + GenericLuaElementConvertor<PubSubEventRedirect>("pubsub_event_redirect") { } PubSubEventRedirectConvertor::~PubSubEventRedirectConvertor() { } boost::shared_ptr<PubSubEventRedirect> PubSubEventRedirectConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventRedirect> result = boost::make_shared<PubSubEventRedirect>(); - lua_getfield(L, -1, "uri"); - if (lua_isstring(L, -1)) { - result->setURI(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventRedirect> result = boost::make_shared<PubSubEventRedirect>(); + lua_getfield(L, -1, "uri"); + if (lua_isstring(L, -1)) { + result->setURI(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubEventRedirectConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventRedirect> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getURI().c_str()); - lua_setfield(L, -2, "uri"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getURI().c_str()); + lua_setfield(L, -2, "uri"); } boost::optional<LuaElementConvertor::Documentation> PubSubEventRedirectConvertor::getDocumentation() const { - return Documentation( - "PubSubEventRedirect", - "This table has the following fields:\n\n" - "- `uri`: string\n" - ); + return Documentation( + "PubSubEventRedirect", + "This table has the following fields:\n\n" + "- `uri`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventRedirectConvertor.h b/Sluift/ElementConvertors/PubSubEventRedirectConvertor.h index d5724ae..bdf7951 100644 --- a/Sluift/ElementConvertors/PubSubEventRedirectConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventRedirectConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventRedirectConvertor : public GenericLuaElementConvertor<PubSubEventRedirect> { - public: - PubSubEventRedirectConvertor(); - virtual ~PubSubEventRedirectConvertor(); + class PubSubEventRedirectConvertor : public GenericLuaElementConvertor<PubSubEventRedirect> { + public: + PubSubEventRedirectConvertor(); + virtual ~PubSubEventRedirectConvertor(); - virtual boost::shared_ptr<PubSubEventRedirect> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventRedirect>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubEventRedirect> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventRedirect>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventRetractConvertor.cpp b/Sluift/ElementConvertors/PubSubEventRetractConvertor.cpp index f851306..15eec91 100644 --- a/Sluift/ElementConvertors/PubSubEventRetractConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventRetractConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubEventRetractConvertor::PubSubEventRetractConvertor() : - GenericLuaElementConvertor<PubSubEventRetract>("pubsub_event_retract") { + GenericLuaElementConvertor<PubSubEventRetract>("pubsub_event_retract") { } PubSubEventRetractConvertor::~PubSubEventRetractConvertor() { } boost::shared_ptr<PubSubEventRetract> PubSubEventRetractConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventRetract> result = boost::make_shared<PubSubEventRetract>(); - lua_getfield(L, -1, "id"); - if (lua_isstring(L, -1)) { - result->setID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventRetract> result = boost::make_shared<PubSubEventRetract>(); + 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 PubSubEventRetractConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventRetract> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getID().c_str()); - lua_setfield(L, -2, "id"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getID().c_str()); + lua_setfield(L, -2, "id"); } boost::optional<LuaElementConvertor::Documentation> PubSubEventRetractConvertor::getDocumentation() const { - return Documentation( - "PubSubEventRetract", - "This table has the following fields:\n\n" - "- `id`: string\n" - ); + return Documentation( + "PubSubEventRetract", + "This table has the following fields:\n\n" + "- `id`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventRetractConvertor.h b/Sluift/ElementConvertors/PubSubEventRetractConvertor.h index 72ca0a3..38208b0 100644 --- a/Sluift/ElementConvertors/PubSubEventRetractConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventRetractConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventRetractConvertor : public GenericLuaElementConvertor<PubSubEventRetract> { - public: - PubSubEventRetractConvertor(); - virtual ~PubSubEventRetractConvertor(); + class PubSubEventRetractConvertor : public GenericLuaElementConvertor<PubSubEventRetract> { + public: + PubSubEventRetractConvertor(); + virtual ~PubSubEventRetractConvertor(); - virtual boost::shared_ptr<PubSubEventRetract> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventRetract>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubEventRetract> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventRetract>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.cpp b/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.cpp index d83f6be..57be1c4 100644 --- a/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.cpp @@ -15,90 +15,90 @@ using namespace Swift; PubSubEventSubscriptionConvertor::PubSubEventSubscriptionConvertor() : - GenericLuaElementConvertor<PubSubEventSubscription>("pubsub_event_subscription") { + GenericLuaElementConvertor<PubSubEventSubscription>("pubsub_event_subscription") { } PubSubEventSubscriptionConvertor::~PubSubEventSubscriptionConvertor() { } boost::shared_ptr<PubSubEventSubscription> PubSubEventSubscriptionConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubEventSubscription> result = boost::make_shared<PubSubEventSubscription>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription"); - if (lua_isstring(L, -1)) { - if (std::string(lua_tostring(L, -1)) == "none") { - result->setSubscription(PubSubEventSubscription::None); - } - if (std::string(lua_tostring(L, -1)) == "pending") { - result->setSubscription(PubSubEventSubscription::Pending); - } - if (std::string(lua_tostring(L, -1)) == "subscribed") { - result->setSubscription(PubSubEventSubscription::Subscribed); - } - if (std::string(lua_tostring(L, -1)) == "unconfigured") { - result->setSubscription(PubSubEventSubscription::Unconfigured); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription_id"); - if (lua_isstring(L, -1)) { - result->setSubscriptionID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "expiry"); - if (lua_isstring(L, -1)) { - result->setExpiry(stringToDateTime(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubEventSubscription> result = boost::make_shared<PubSubEventSubscription>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription"); + if (lua_isstring(L, -1)) { + if (std::string(lua_tostring(L, -1)) == "none") { + result->setSubscription(PubSubEventSubscription::None); + } + if (std::string(lua_tostring(L, -1)) == "pending") { + result->setSubscription(PubSubEventSubscription::Pending); + } + if (std::string(lua_tostring(L, -1)) == "subscribed") { + result->setSubscription(PubSubEventSubscription::Subscribed); + } + if (std::string(lua_tostring(L, -1)) == "unconfigured") { + result->setSubscription(PubSubEventSubscription::Unconfigured); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription_id"); + if (lua_isstring(L, -1)) { + result->setSubscriptionID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "expiry"); + if (lua_isstring(L, -1)) { + result->setExpiry(stringToDateTime(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + return result; } void PubSubEventSubscriptionConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubEventSubscription> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - switch (payload->getSubscription()) { - case PubSubEventSubscription::None: - lua_pushstring(L, "none"); - break; - case PubSubEventSubscription::Pending: - lua_pushstring(L, "pending"); - break; - case PubSubEventSubscription::Subscribed: - lua_pushstring(L, "subscribed"); - break; - case PubSubEventSubscription::Unconfigured: - lua_pushstring(L, "unconfigured"); - break; - } - lua_setfield(L, -2, "subscription"); - if (payload->getSubscriptionID()) { - lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); - lua_setfield(L, -2, "subscription_id"); - } - lua_pushstring(L, dateTimeToString(payload->getExpiry()).c_str()); - lua_setfield(L, -2, "expiry"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + switch (payload->getSubscription()) { + case PubSubEventSubscription::None: + lua_pushstring(L, "none"); + break; + case PubSubEventSubscription::Pending: + lua_pushstring(L, "pending"); + break; + case PubSubEventSubscription::Subscribed: + lua_pushstring(L, "subscribed"); + break; + case PubSubEventSubscription::Unconfigured: + lua_pushstring(L, "unconfigured"); + break; + } + lua_setfield(L, -2, "subscription"); + if (payload->getSubscriptionID()) { + lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); + lua_setfield(L, -2, "subscription_id"); + } + lua_pushstring(L, dateTimeToString(payload->getExpiry()).c_str()); + lua_setfield(L, -2, "expiry"); } boost::optional<LuaElementConvertor::Documentation> PubSubEventSubscriptionConvertor::getDocumentation() const { - return Documentation( - "PubSubEventSubscription", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `jid`: jid (string)\n" - "- `subscription`: `\"none\"`, `\"pending\"`, `\"subscribed\"`, or `\"unconfigured\"`\n" - "- `subscription_id`: string (Optional)\n" - "- `expiry`: datetime (string)\n" - ); + return Documentation( + "PubSubEventSubscription", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `jid`: jid (string)\n" + "- `subscription`: `\"none\"`, `\"pending\"`, `\"subscribed\"`, or `\"unconfigured\"`\n" + "- `subscription_id`: string (Optional)\n" + "- `expiry`: datetime (string)\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.h b/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.h index 837a03b..8ee9da5 100644 --- a/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.h +++ b/Sluift/ElementConvertors/PubSubEventSubscriptionConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubEventSubscriptionConvertor : public GenericLuaElementConvertor<PubSubEventSubscription> { - public: - PubSubEventSubscriptionConvertor(); - virtual ~PubSubEventSubscriptionConvertor(); + class PubSubEventSubscriptionConvertor : public GenericLuaElementConvertor<PubSubEventSubscription> { + public: + PubSubEventSubscriptionConvertor(); + virtual ~PubSubEventSubscriptionConvertor(); - virtual boost::shared_ptr<PubSubEventSubscription> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventSubscription>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubEventSubscription> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubEventSubscription>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubItemConvertor.cpp b/Sluift/ElementConvertors/PubSubItemConvertor.cpp index 60f7946..b88f989 100644 --- a/Sluift/ElementConvertors/PubSubItemConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubItemConvertor.cpp @@ -17,65 +17,65 @@ using namespace Swift; -PubSubItemConvertor::PubSubItemConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubItem>("pubsub_item"), - convertors(convertors) { +PubSubItemConvertor::PubSubItemConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubItem>("pubsub_item"), + convertors(convertors) { } PubSubItemConvertor::~PubSubItemConvertor() { } boost::shared_ptr<PubSubItem> PubSubItemConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubItem> result = boost::make_shared<PubSubItem>(); - lua_getfield(L, -1, "data"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<Payload> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubItem> result = boost::make_shared<PubSubItem>(); + lua_getfield(L, -1, "data"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<Payload> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setData(items); - } - 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; + result->setData(items); + } + 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 PubSubItemConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubItem> payload) { - lua_createtable(L, 0, 0); - if (!payload->getData().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getData().size()), 0); - { - int i = 0; - foreach(boost::shared_ptr<Payload> item, payload->getData()) { - if (convertors->convertToLua(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "data"); - } - lua_pushstring(L, payload->getID().c_str()); - lua_setfield(L, -2, "id"); + lua_createtable(L, 0, 0); + if (!payload->getData().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getData().size()), 0); + { + int i = 0; + foreach(boost::shared_ptr<Payload> item, payload->getData()) { + if (convertors->convertToLua(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "data"); + } + lua_pushstring(L, payload->getID().c_str()); + lua_setfield(L, -2, "id"); } boost::optional<LuaElementConvertor::Documentation> PubSubItemConvertor::getDocumentation() const { - return Documentation( - "PubSubItem", - "This table has the following fields:\n\n" - "- `data`: array<element (table)>\n" - "- `id`: string\n" - ); + return Documentation( + "PubSubItem", + "This table has the following fields:\n\n" + "- `data`: array<element (table)>\n" + "- `id`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubItemConvertor.h b/Sluift/ElementConvertors/PubSubItemConvertor.h index 7f4adbf..1bc2467 100644 --- a/Sluift/ElementConvertors/PubSubItemConvertor.h +++ b/Sluift/ElementConvertors/PubSubItemConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubItemConvertor : public GenericLuaElementConvertor<PubSubItem> { - public: - PubSubItemConvertor(LuaElementConvertors* convertors); - virtual ~PubSubItemConvertor(); + class PubSubItemConvertor : public GenericLuaElementConvertor<PubSubItem> { + public: + PubSubItemConvertor(LuaElementConvertors* convertors); + virtual ~PubSubItemConvertor(); - virtual boost::shared_ptr<PubSubItem> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubItem>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubItem> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubItem>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubItemsConvertor.cpp b/Sluift/ElementConvertors/PubSubItemsConvertor.cpp index 9b99c86..571bc46 100644 --- a/Sluift/ElementConvertors/PubSubItemsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubItemsConvertor.cpp @@ -17,81 +17,81 @@ using namespace Swift; -PubSubItemsConvertor::PubSubItemsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubItems>("pubsub_items"), - convertors(convertors) { +PubSubItemsConvertor::PubSubItemsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubItems>("pubsub_items"), + convertors(convertors) { } PubSubItemsConvertor::~PubSubItemsConvertor() { } boost::shared_ptr<PubSubItems> PubSubItemsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubItems> result = boost::make_shared<PubSubItems>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubItem> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubItem> payload = boost::dynamic_pointer_cast<PubSubItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_item"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubItems> result = boost::make_shared<PubSubItems>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubItem> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubItem> payload = boost::dynamic_pointer_cast<PubSubItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_item"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setItems(items); - } - lua_getfield(L, -1, "maximum_items"); - if (lua_isnumber(L, -1)) { - result->setMaximumItems(boost::numeric_cast<unsigned int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription_id"); - if (lua_isstring(L, -1)) { - result->setSubscriptionID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + result->setItems(items); + } + lua_getfield(L, -1, "maximum_items"); + if (lua_isnumber(L, -1)) { + result->setMaximumItems(boost::numeric_cast<unsigned int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription_id"); + if (lua_isstring(L, -1)) { + result->setSubscriptionID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubItemsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubItems> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (!payload->getItems().empty()) { - { - int i = 0; - foreach(boost::shared_ptr<PubSubItem> item, payload->getItems()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - } - if (payload->getMaximumItems()) { - lua_pushnumber(L, (*payload->getMaximumItems())); - lua_setfield(L, -2, "maximum_items"); - } - if (payload->getSubscriptionID()) { - lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); - lua_setfield(L, -2, "subscription_id"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (!payload->getItems().empty()) { + { + int i = 0; + foreach(boost::shared_ptr<PubSubItem> item, payload->getItems()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + } + if (payload->getMaximumItems()) { + lua_pushnumber(L, (*payload->getMaximumItems())); + lua_setfield(L, -2, "maximum_items"); + } + if (payload->getSubscriptionID()) { + lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); + lua_setfield(L, -2, "subscription_id"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubItemsConvertor::getDocumentation() const { - return Documentation( - "PubSubItems", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `items`: array<@{PubSubItem}>\n" - "- `maximum_items`: number (Optional)\n" - "- `subscription_id`: string (Optional)\n" - ); + return Documentation( + "PubSubItems", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `items`: array<@{PubSubItem}>\n" + "- `maximum_items`: number (Optional)\n" + "- `subscription_id`: string (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubItemsConvertor.h b/Sluift/ElementConvertors/PubSubItemsConvertor.h index 04943ac..e40d545 100644 --- a/Sluift/ElementConvertors/PubSubItemsConvertor.h +++ b/Sluift/ElementConvertors/PubSubItemsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubItemsConvertor : public GenericLuaElementConvertor<PubSubItems> { - public: - PubSubItemsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubItemsConvertor(); + class PubSubItemsConvertor : public GenericLuaElementConvertor<PubSubItems> { + public: + PubSubItemsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubItemsConvertor(); - virtual boost::shared_ptr<PubSubItems> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubItems>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubItems> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubItems>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubOptionsConvertor.cpp b/Sluift/ElementConvertors/PubSubOptionsConvertor.cpp index 2beaee9..52976ea 100644 --- a/Sluift/ElementConvertors/PubSubOptionsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOptionsConvertor.cpp @@ -14,63 +14,63 @@ using namespace Swift; -PubSubOptionsConvertor::PubSubOptionsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubOptions>("pubsub_options"), - convertors(convertors) { +PubSubOptionsConvertor::PubSubOptionsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubOptions>("pubsub_options"), + convertors(convertors) { } PubSubOptionsConvertor::~PubSubOptionsConvertor() { } boost::shared_ptr<PubSubOptions> PubSubOptionsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOptions> result = boost::make_shared<PubSubOptions>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "data"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { - result->setData(payload); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription_id"); - if (lua_isstring(L, -1)) { - result->setSubscriptionID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOptions> result = boost::make_shared<PubSubOptions>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "data"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { + result->setData(payload); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription_id"); + if (lua_isstring(L, -1)) { + result->setSubscriptionID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubOptionsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOptions> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { - lua_setfield(L, -2, "data"); - } - if (payload->getSubscriptionID()) { - lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); - lua_setfield(L, -2, "subscription_id"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { + lua_setfield(L, -2, "data"); + } + if (payload->getSubscriptionID()) { + lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); + lua_setfield(L, -2, "subscription_id"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubOptionsConvertor::getDocumentation() const { - return Documentation( - "PubSubOptions", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `jid`: jid (string)\n" - "- `data`: @{Form}\n" - "- `subscription_id`: string (Optional)\n" - ); + return Documentation( + "PubSubOptions", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `jid`: jid (string)\n" + "- `data`: @{Form}\n" + "- `subscription_id`: string (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOptionsConvertor.h b/Sluift/ElementConvertors/PubSubOptionsConvertor.h index a0ec68e..88fafd3 100644 --- a/Sluift/ElementConvertors/PubSubOptionsConvertor.h +++ b/Sluift/ElementConvertors/PubSubOptionsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOptionsConvertor : public GenericLuaElementConvertor<PubSubOptions> { - public: - PubSubOptionsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubOptionsConvertor(); + class PubSubOptionsConvertor : public GenericLuaElementConvertor<PubSubOptions> { + public: + PubSubOptionsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubOptionsConvertor(); - virtual boost::shared_ptr<PubSubOptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOptions>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubOptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOptions>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.cpp index 7e1ec9a..da835af 100644 --- a/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.cpp @@ -13,76 +13,76 @@ using namespace Swift; PubSubOwnerAffiliationConvertor::PubSubOwnerAffiliationConvertor() : - GenericLuaElementConvertor<PubSubOwnerAffiliation>("pubsub_owner_affiliation") { + GenericLuaElementConvertor<PubSubOwnerAffiliation>("pubsub_owner_affiliation") { } PubSubOwnerAffiliationConvertor::~PubSubOwnerAffiliationConvertor() { } boost::shared_ptr<PubSubOwnerAffiliation> PubSubOwnerAffiliationConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerAffiliation> result = boost::make_shared<PubSubOwnerAffiliation>(); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "type"); - if (lua_isstring(L, -1)) { - if (std::string(lua_tostring(L, -1)) == "none") { - result->setType(PubSubOwnerAffiliation::None); - } - if (std::string(lua_tostring(L, -1)) == "member") { - result->setType(PubSubOwnerAffiliation::Member); - } - if (std::string(lua_tostring(L, -1)) == "outcast") { - result->setType(PubSubOwnerAffiliation::Outcast); - } - if (std::string(lua_tostring(L, -1)) == "owner") { - result->setType(PubSubOwnerAffiliation::Owner); - } - if (std::string(lua_tostring(L, -1)) == "publisher") { - result->setType(PubSubOwnerAffiliation::Publisher); - } - if (std::string(lua_tostring(L, -1)) == "publish_only") { - result->setType(PubSubOwnerAffiliation::PublishOnly); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerAffiliation> result = boost::make_shared<PubSubOwnerAffiliation>(); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "type"); + if (lua_isstring(L, -1)) { + if (std::string(lua_tostring(L, -1)) == "none") { + result->setType(PubSubOwnerAffiliation::None); + } + if (std::string(lua_tostring(L, -1)) == "member") { + result->setType(PubSubOwnerAffiliation::Member); + } + if (std::string(lua_tostring(L, -1)) == "outcast") { + result->setType(PubSubOwnerAffiliation::Outcast); + } + if (std::string(lua_tostring(L, -1)) == "owner") { + result->setType(PubSubOwnerAffiliation::Owner); + } + if (std::string(lua_tostring(L, -1)) == "publisher") { + result->setType(PubSubOwnerAffiliation::Publisher); + } + if (std::string(lua_tostring(L, -1)) == "publish_only") { + result->setType(PubSubOwnerAffiliation::PublishOnly); + } + } + lua_pop(L, 1); + return result; } void PubSubOwnerAffiliationConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerAffiliation> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - switch (payload->getType()) { - case PubSubOwnerAffiliation::None: - lua_pushstring(L, "none"); - break; - case PubSubOwnerAffiliation::Member: - lua_pushstring(L, "member"); - break; - case PubSubOwnerAffiliation::Outcast: - lua_pushstring(L, "outcast"); - break; - case PubSubOwnerAffiliation::Owner: - lua_pushstring(L, "owner"); - break; - case PubSubOwnerAffiliation::Publisher: - lua_pushstring(L, "publisher"); - break; - case PubSubOwnerAffiliation::PublishOnly: - lua_pushstring(L, "publish_only"); - break; - } - lua_setfield(L, -2, "type"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + switch (payload->getType()) { + case PubSubOwnerAffiliation::None: + lua_pushstring(L, "none"); + break; + case PubSubOwnerAffiliation::Member: + lua_pushstring(L, "member"); + break; + case PubSubOwnerAffiliation::Outcast: + lua_pushstring(L, "outcast"); + break; + case PubSubOwnerAffiliation::Owner: + lua_pushstring(L, "owner"); + break; + case PubSubOwnerAffiliation::Publisher: + lua_pushstring(L, "publisher"); + break; + case PubSubOwnerAffiliation::PublishOnly: + lua_pushstring(L, "publish_only"); + break; + } + lua_setfield(L, -2, "type"); } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerAffiliationConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerAffiliation", - "This table has the following fields:\n\n" - "- `jid`: jid (string)\n" - "- `type`: `\"none\"`, `\"member\"`, `\"outcast\"`, `\"owner\"`, `\"publisher\"`, or `\"publish_only\"`\n" - ); + return Documentation( + "PubSubOwnerAffiliation", + "This table has the following fields:\n\n" + "- `jid`: jid (string)\n" + "- `type`: `\"none\"`, `\"member\"`, `\"outcast\"`, `\"owner\"`, `\"publisher\"`, or `\"publish_only\"`\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.h b/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.h index 6876882..965e708 100644 --- a/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerAffiliationConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerAffiliationConvertor : public GenericLuaElementConvertor<PubSubOwnerAffiliation> { - public: - PubSubOwnerAffiliationConvertor(); - virtual ~PubSubOwnerAffiliationConvertor(); + class PubSubOwnerAffiliationConvertor : public GenericLuaElementConvertor<PubSubOwnerAffiliation> { + public: + PubSubOwnerAffiliationConvertor(); + virtual ~PubSubOwnerAffiliationConvertor(); - virtual boost::shared_ptr<PubSubOwnerAffiliation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerAffiliation>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubOwnerAffiliation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerAffiliation>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.cpp index 4827914..01a4503 100644 --- a/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.cpp @@ -17,61 +17,61 @@ using namespace Swift; -PubSubOwnerAffiliationsConvertor::PubSubOwnerAffiliationsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubOwnerAffiliations>("pubsub_owner_affiliations"), - convertors(convertors) { +PubSubOwnerAffiliationsConvertor::PubSubOwnerAffiliationsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubOwnerAffiliations>("pubsub_owner_affiliations"), + convertors(convertors) { } PubSubOwnerAffiliationsConvertor::~PubSubOwnerAffiliationsConvertor() { } boost::shared_ptr<PubSubOwnerAffiliations> PubSubOwnerAffiliationsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerAffiliations> result = boost::make_shared<PubSubOwnerAffiliations>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubOwnerAffiliation> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubOwnerAffiliation> payload = boost::dynamic_pointer_cast<PubSubOwnerAffiliation>(convertors->convertFromLuaUntyped(L, -1, "pubsub_owner_affiliation"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubOwnerAffiliations> result = boost::make_shared<PubSubOwnerAffiliations>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubOwnerAffiliation> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubOwnerAffiliation> payload = boost::dynamic_pointer_cast<PubSubOwnerAffiliation>(convertors->convertFromLuaUntyped(L, -1, "pubsub_owner_affiliation"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setAffiliations(items); - } - return result; + result->setAffiliations(items); + } + return result; } void PubSubOwnerAffiliationsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerAffiliations> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (!payload->getAffiliations().empty()) { - { - int i = 0; - foreach(boost::shared_ptr<PubSubOwnerAffiliation> item, payload->getAffiliations()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (!payload->getAffiliations().empty()) { + { + int i = 0; + foreach(boost::shared_ptr<PubSubOwnerAffiliation> item, payload->getAffiliations()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + } } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerAffiliationsConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerAffiliations", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `affiliations`: array<@{PubSubOwnerAffiliation}>\n" - ); + return Documentation( + "PubSubOwnerAffiliations", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `affiliations`: array<@{PubSubOwnerAffiliation}>\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.h b/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.h index f64426a..3644cd8 100644 --- a/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerAffiliationsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerAffiliationsConvertor : public GenericLuaElementConvertor<PubSubOwnerAffiliations> { - public: - PubSubOwnerAffiliationsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubOwnerAffiliationsConvertor(); + class PubSubOwnerAffiliationsConvertor : public GenericLuaElementConvertor<PubSubOwnerAffiliations> { + public: + PubSubOwnerAffiliationsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubOwnerAffiliationsConvertor(); - virtual boost::shared_ptr<PubSubOwnerAffiliations> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerAffiliations>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubOwnerAffiliations> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerAffiliations>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.cpp index 2620649..0d0d49a 100644 --- a/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.cpp @@ -14,47 +14,47 @@ using namespace Swift; -PubSubOwnerConfigureConvertor::PubSubOwnerConfigureConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubOwnerConfigure>("pubsub_owner_configure"), - convertors(convertors) { +PubSubOwnerConfigureConvertor::PubSubOwnerConfigureConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubOwnerConfigure>("pubsub_owner_configure"), + convertors(convertors) { } PubSubOwnerConfigureConvertor::~PubSubOwnerConfigureConvertor() { } boost::shared_ptr<PubSubOwnerConfigure> PubSubOwnerConfigureConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerConfigure> result = boost::make_shared<PubSubOwnerConfigure>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "data"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { - result->setData(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerConfigure> result = boost::make_shared<PubSubOwnerConfigure>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "data"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { + result->setData(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubOwnerConfigureConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerConfigure> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { - lua_setfield(L, -2, "data"); - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { + lua_setfield(L, -2, "data"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerConfigureConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerConfigure", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `data`: @{Form}\n" - ); + return Documentation( + "PubSubOwnerConfigure", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `data`: @{Form}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.h b/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.h index 7555922..d2fb229 100644 --- a/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerConfigureConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerConfigureConvertor : public GenericLuaElementConvertor<PubSubOwnerConfigure> { - public: - PubSubOwnerConfigureConvertor(LuaElementConvertors* convertors); - virtual ~PubSubOwnerConfigureConvertor(); + class PubSubOwnerConfigureConvertor : public GenericLuaElementConvertor<PubSubOwnerConfigure> { + public: + PubSubOwnerConfigureConvertor(LuaElementConvertors* convertors); + virtual ~PubSubOwnerConfigureConvertor(); - virtual boost::shared_ptr<PubSubOwnerConfigure> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerConfigure>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubOwnerConfigure> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerConfigure>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.cpp index e493601..9147900 100644 --- a/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.cpp @@ -14,37 +14,37 @@ using namespace Swift; -PubSubOwnerDefaultConvertor::PubSubOwnerDefaultConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubOwnerDefault>("pubsub_owner_default"), - convertors(convertors) { +PubSubOwnerDefaultConvertor::PubSubOwnerDefaultConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubOwnerDefault>("pubsub_owner_default"), + convertors(convertors) { } PubSubOwnerDefaultConvertor::~PubSubOwnerDefaultConvertor() { } boost::shared_ptr<PubSubOwnerDefault> PubSubOwnerDefaultConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerDefault> result = boost::make_shared<PubSubOwnerDefault>(); - lua_getfield(L, -1, "data"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { - result->setData(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerDefault> result = boost::make_shared<PubSubOwnerDefault>(); + lua_getfield(L, -1, "data"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<Form> payload = boost::dynamic_pointer_cast<Form>(convertors->convertFromLuaUntyped(L, -1, "form"))) { + result->setData(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubOwnerDefaultConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerDefault> payload) { - lua_createtable(L, 0, 0); - if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { - lua_setfield(L, -2, "data"); - } + lua_createtable(L, 0, 0); + if (convertors->convertToLuaUntyped(L, payload->getData()) > 0) { + lua_setfield(L, -2, "data"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerDefaultConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerDefault", - "This table has the following fields:\n\n" - "- `data`: @{Form}\n" - ); + return Documentation( + "PubSubOwnerDefault", + "This table has the following fields:\n\n" + "- `data`: @{Form}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.h b/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.h index d51223a..274cb12 100644 --- a/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerDefaultConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerDefaultConvertor : public GenericLuaElementConvertor<PubSubOwnerDefault> { - public: - PubSubOwnerDefaultConvertor(LuaElementConvertors* convertors); - virtual ~PubSubOwnerDefaultConvertor(); + class PubSubOwnerDefaultConvertor : public GenericLuaElementConvertor<PubSubOwnerDefault> { + public: + PubSubOwnerDefaultConvertor(LuaElementConvertors* convertors); + virtual ~PubSubOwnerDefaultConvertor(); - virtual boost::shared_ptr<PubSubOwnerDefault> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerDefault>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubOwnerDefault> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerDefault>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.cpp index 2c818f1..63579b6 100644 --- a/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.cpp @@ -14,45 +14,45 @@ using namespace Swift; -PubSubOwnerDeleteConvertor::PubSubOwnerDeleteConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubOwnerDelete>("pubsub_owner_delete"), - convertors(convertors) { +PubSubOwnerDeleteConvertor::PubSubOwnerDeleteConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubOwnerDelete>("pubsub_owner_delete"), + convertors(convertors) { } PubSubOwnerDeleteConvertor::~PubSubOwnerDeleteConvertor() { } boost::shared_ptr<PubSubOwnerDelete> PubSubOwnerDeleteConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerDelete> result = boost::make_shared<PubSubOwnerDelete>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "redirect"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubOwnerRedirect> payload = boost::dynamic_pointer_cast<PubSubOwnerRedirect>(convertors->convertFromLuaUntyped(L, -1, "pubsub_owner_redirect"))) { - result->setRedirect(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerDelete> result = boost::make_shared<PubSubOwnerDelete>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "redirect"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubOwnerRedirect> payload = boost::dynamic_pointer_cast<PubSubOwnerRedirect>(convertors->convertFromLuaUntyped(L, -1, "pubsub_owner_redirect"))) { + result->setRedirect(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubOwnerDeleteConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerDelete> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (convertors->convertToLuaUntyped(L, payload->getRedirect()) > 0) { - lua_setfield(L, -2, "redirect"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (convertors->convertToLuaUntyped(L, payload->getRedirect()) > 0) { + lua_setfield(L, -2, "redirect"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerDeleteConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerDelete", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `redirect`: @{PubSubOwnerRedirect}\n" - ); + return Documentation( + "PubSubOwnerDelete", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `redirect`: @{PubSubOwnerRedirect}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.h b/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.h index 4673b92..548fb79 100644 --- a/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerDeleteConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerDeleteConvertor : public GenericLuaElementConvertor<PubSubOwnerDelete> { - public: - PubSubOwnerDeleteConvertor(LuaElementConvertors* convertors); - virtual ~PubSubOwnerDeleteConvertor(); + class PubSubOwnerDeleteConvertor : public GenericLuaElementConvertor<PubSubOwnerDelete> { + public: + PubSubOwnerDeleteConvertor(LuaElementConvertors* convertors); + virtual ~PubSubOwnerDeleteConvertor(); - virtual boost::shared_ptr<PubSubOwnerDelete> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerDelete>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubOwnerDelete> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerDelete>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.cpp index cf56f6b..f7d5c50 100644 --- a/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubOwnerPurgeConvertor::PubSubOwnerPurgeConvertor() : - GenericLuaElementConvertor<PubSubOwnerPurge>("pubsub_owner_purge") { + GenericLuaElementConvertor<PubSubOwnerPurge>("pubsub_owner_purge") { } PubSubOwnerPurgeConvertor::~PubSubOwnerPurgeConvertor() { } boost::shared_ptr<PubSubOwnerPurge> PubSubOwnerPurgeConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerPurge> result = boost::make_shared<PubSubOwnerPurge>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerPurge> result = boost::make_shared<PubSubOwnerPurge>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubOwnerPurgeConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerPurge> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerPurgeConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerPurge", - "This table has the following fields:\n\n" - "- `node`: string\n" - ); + return Documentation( + "PubSubOwnerPurge", + "This table has the following fields:\n\n" + "- `node`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.h b/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.h index 2ef7bd5..fc627c6 100644 --- a/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerPurgeConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerPurgeConvertor : public GenericLuaElementConvertor<PubSubOwnerPurge> { - public: - PubSubOwnerPurgeConvertor(); - virtual ~PubSubOwnerPurgeConvertor(); + class PubSubOwnerPurgeConvertor : public GenericLuaElementConvertor<PubSubOwnerPurge> { + public: + PubSubOwnerPurgeConvertor(); + virtual ~PubSubOwnerPurgeConvertor(); - virtual boost::shared_ptr<PubSubOwnerPurge> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerPurge>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubOwnerPurge> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerPurge>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.cpp index a98a213..86c26ac 100644 --- a/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubOwnerRedirectConvertor::PubSubOwnerRedirectConvertor() : - GenericLuaElementConvertor<PubSubOwnerRedirect>("pubsub_owner_redirect") { + GenericLuaElementConvertor<PubSubOwnerRedirect>("pubsub_owner_redirect") { } PubSubOwnerRedirectConvertor::~PubSubOwnerRedirectConvertor() { } boost::shared_ptr<PubSubOwnerRedirect> PubSubOwnerRedirectConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerRedirect> result = boost::make_shared<PubSubOwnerRedirect>(); - lua_getfield(L, -1, "uri"); - if (lua_isstring(L, -1)) { - result->setURI(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerRedirect> result = boost::make_shared<PubSubOwnerRedirect>(); + lua_getfield(L, -1, "uri"); + if (lua_isstring(L, -1)) { + result->setURI(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubOwnerRedirectConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerRedirect> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getURI().c_str()); - lua_setfield(L, -2, "uri"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getURI().c_str()); + lua_setfield(L, -2, "uri"); } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerRedirectConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerRedirect", - "This table has the following fields:\n\n" - "- `uri`: string\n" - ); + return Documentation( + "PubSubOwnerRedirect", + "This table has the following fields:\n\n" + "- `uri`: string\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.h b/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.h index 8a61ef2..528e9e5 100644 --- a/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerRedirectConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerRedirectConvertor : public GenericLuaElementConvertor<PubSubOwnerRedirect> { - public: - PubSubOwnerRedirectConvertor(); - virtual ~PubSubOwnerRedirectConvertor(); + class PubSubOwnerRedirectConvertor : public GenericLuaElementConvertor<PubSubOwnerRedirect> { + public: + PubSubOwnerRedirectConvertor(); + virtual ~PubSubOwnerRedirectConvertor(); - virtual boost::shared_ptr<PubSubOwnerRedirect> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerRedirect>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubOwnerRedirect> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerRedirect>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.cpp index 57d4f3d..2e5aff3 100644 --- a/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.cpp @@ -13,64 +13,64 @@ using namespace Swift; PubSubOwnerSubscriptionConvertor::PubSubOwnerSubscriptionConvertor() : - GenericLuaElementConvertor<PubSubOwnerSubscription>("pubsub_owner_subscription") { + GenericLuaElementConvertor<PubSubOwnerSubscription>("pubsub_owner_subscription") { } PubSubOwnerSubscriptionConvertor::~PubSubOwnerSubscriptionConvertor() { } boost::shared_ptr<PubSubOwnerSubscription> PubSubOwnerSubscriptionConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerSubscription> result = boost::make_shared<PubSubOwnerSubscription>(); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription"); - if (lua_isstring(L, -1)) { - if (std::string(lua_tostring(L, -1)) == "none") { - result->setSubscription(PubSubOwnerSubscription::None); - } - if (std::string(lua_tostring(L, -1)) == "pending") { - result->setSubscription(PubSubOwnerSubscription::Pending); - } - if (std::string(lua_tostring(L, -1)) == "subscribed") { - result->setSubscription(PubSubOwnerSubscription::Subscribed); - } - if (std::string(lua_tostring(L, -1)) == "unconfigured") { - result->setSubscription(PubSubOwnerSubscription::Unconfigured); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubOwnerSubscription> result = boost::make_shared<PubSubOwnerSubscription>(); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription"); + if (lua_isstring(L, -1)) { + if (std::string(lua_tostring(L, -1)) == "none") { + result->setSubscription(PubSubOwnerSubscription::None); + } + if (std::string(lua_tostring(L, -1)) == "pending") { + result->setSubscription(PubSubOwnerSubscription::Pending); + } + if (std::string(lua_tostring(L, -1)) == "subscribed") { + result->setSubscription(PubSubOwnerSubscription::Subscribed); + } + if (std::string(lua_tostring(L, -1)) == "unconfigured") { + result->setSubscription(PubSubOwnerSubscription::Unconfigured); + } + } + lua_pop(L, 1); + return result; } void PubSubOwnerSubscriptionConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerSubscription> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - switch (payload->getSubscription()) { - case PubSubOwnerSubscription::None: - lua_pushstring(L, "none"); - break; - case PubSubOwnerSubscription::Pending: - lua_pushstring(L, "pending"); - break; - case PubSubOwnerSubscription::Subscribed: - lua_pushstring(L, "subscribed"); - break; - case PubSubOwnerSubscription::Unconfigured: - lua_pushstring(L, "unconfigured"); - break; - } - lua_setfield(L, -2, "subscription"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + switch (payload->getSubscription()) { + case PubSubOwnerSubscription::None: + lua_pushstring(L, "none"); + break; + case PubSubOwnerSubscription::Pending: + lua_pushstring(L, "pending"); + break; + case PubSubOwnerSubscription::Subscribed: + lua_pushstring(L, "subscribed"); + break; + case PubSubOwnerSubscription::Unconfigured: + lua_pushstring(L, "unconfigured"); + break; + } + lua_setfield(L, -2, "subscription"); } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerSubscriptionConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerSubscription", - "This table has the following fields:\n\n" - "- `jid`: jid (string)\n" - "- `subscription`: `\"none\"`, `\"pending\"`, `\"subscribed\"`, or `\"unconfigured\"`\n" - ); + return Documentation( + "PubSubOwnerSubscription", + "This table has the following fields:\n\n" + "- `jid`: jid (string)\n" + "- `subscription`: `\"none\"`, `\"pending\"`, `\"subscribed\"`, or `\"unconfigured\"`\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.h b/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.h index 61c1a5e..0924c35 100644 --- a/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerSubscriptionConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerSubscriptionConvertor : public GenericLuaElementConvertor<PubSubOwnerSubscription> { - public: - PubSubOwnerSubscriptionConvertor(); - virtual ~PubSubOwnerSubscriptionConvertor(); + class PubSubOwnerSubscriptionConvertor : public GenericLuaElementConvertor<PubSubOwnerSubscription> { + public: + PubSubOwnerSubscriptionConvertor(); + virtual ~PubSubOwnerSubscriptionConvertor(); - virtual boost::shared_ptr<PubSubOwnerSubscription> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerSubscription>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubOwnerSubscription> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerSubscription>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.cpp b/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.cpp index 3298096..b6f49ad 100644 --- a/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.cpp @@ -17,61 +17,61 @@ using namespace Swift; -PubSubOwnerSubscriptionsConvertor::PubSubOwnerSubscriptionsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubOwnerSubscriptions>("pubsub_owner_subscriptions"), - convertors(convertors) { +PubSubOwnerSubscriptionsConvertor::PubSubOwnerSubscriptionsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubOwnerSubscriptions>("pubsub_owner_subscriptions"), + convertors(convertors) { } PubSubOwnerSubscriptionsConvertor::~PubSubOwnerSubscriptionsConvertor() { } boost::shared_ptr<PubSubOwnerSubscriptions> PubSubOwnerSubscriptionsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubOwnerSubscriptions> result = boost::make_shared<PubSubOwnerSubscriptions>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubOwnerSubscription> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubOwnerSubscription> payload = boost::dynamic_pointer_cast<PubSubOwnerSubscription>(convertors->convertFromLuaUntyped(L, -1, "pubsub_owner_subscription"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubOwnerSubscriptions> result = boost::make_shared<PubSubOwnerSubscriptions>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubOwnerSubscription> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubOwnerSubscription> payload = boost::dynamic_pointer_cast<PubSubOwnerSubscription>(convertors->convertFromLuaUntyped(L, -1, "pubsub_owner_subscription"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setSubscriptions(items); - } - return result; + result->setSubscriptions(items); + } + return result; } void PubSubOwnerSubscriptionsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubOwnerSubscriptions> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (!payload->getSubscriptions().empty()) { - { - int i = 0; - foreach(boost::shared_ptr<PubSubOwnerSubscription> item, payload->getSubscriptions()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (!payload->getSubscriptions().empty()) { + { + int i = 0; + foreach(boost::shared_ptr<PubSubOwnerSubscription> item, payload->getSubscriptions()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + } } boost::optional<LuaElementConvertor::Documentation> PubSubOwnerSubscriptionsConvertor::getDocumentation() const { - return Documentation( - "PubSubOwnerSubscriptions", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `subscriptions`: array<@{PubSubOwnerSubscription}>\n" - ); + return Documentation( + "PubSubOwnerSubscriptions", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `subscriptions`: array<@{PubSubOwnerSubscription}>\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.h b/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.h index b1793e3..1511d20 100644 --- a/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.h +++ b/Sluift/ElementConvertors/PubSubOwnerSubscriptionsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubOwnerSubscriptionsConvertor : public GenericLuaElementConvertor<PubSubOwnerSubscriptions> { - public: - PubSubOwnerSubscriptionsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubOwnerSubscriptionsConvertor(); + class PubSubOwnerSubscriptionsConvertor : public GenericLuaElementConvertor<PubSubOwnerSubscriptions> { + public: + PubSubOwnerSubscriptionsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubOwnerSubscriptionsConvertor(); - virtual boost::shared_ptr<PubSubOwnerSubscriptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerSubscriptions>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubOwnerSubscriptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubOwnerSubscriptions>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubPublishConvertor.cpp b/Sluift/ElementConvertors/PubSubPublishConvertor.cpp index 89a7d8d..68045fb 100644 --- a/Sluift/ElementConvertors/PubSubPublishConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubPublishConvertor.cpp @@ -17,65 +17,65 @@ using namespace Swift; -PubSubPublishConvertor::PubSubPublishConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubPublish>("pubsub_publish"), - convertors(convertors) { +PubSubPublishConvertor::PubSubPublishConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubPublish>("pubsub_publish"), + convertors(convertors) { } PubSubPublishConvertor::~PubSubPublishConvertor() { } boost::shared_ptr<PubSubPublish> PubSubPublishConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubPublish> result = boost::make_shared<PubSubPublish>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "items"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubItem> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubItem> payload = boost::dynamic_pointer_cast<PubSubItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_item"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubPublish> result = boost::make_shared<PubSubPublish>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "items"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubItem> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubItem> payload = boost::dynamic_pointer_cast<PubSubItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_item"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setItems(items); - } - lua_pop(L, 1); - return result; + result->setItems(items); + } + lua_pop(L, 1); + return result; } void PubSubPublishConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubPublish> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (!payload->getItems().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getItems().size()), 0); - { - int i = 0; - foreach(boost::shared_ptr<PubSubItem> item, payload->getItems()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "items"); - } + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (!payload->getItems().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getItems().size()), 0); + { + int i = 0; + foreach(boost::shared_ptr<PubSubItem> item, payload->getItems()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "items"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubPublishConvertor::getDocumentation() const { - return Documentation( - "PubSubPublish", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `items`: array<@{PubSubItem}>\n" - ); + return Documentation( + "PubSubPublish", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `items`: array<@{PubSubItem}>\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubPublishConvertor.h b/Sluift/ElementConvertors/PubSubPublishConvertor.h index d886368..1372c55 100644 --- a/Sluift/ElementConvertors/PubSubPublishConvertor.h +++ b/Sluift/ElementConvertors/PubSubPublishConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubPublishConvertor : public GenericLuaElementConvertor<PubSubPublish> { - public: - PubSubPublishConvertor(LuaElementConvertors* convertors); - virtual ~PubSubPublishConvertor(); + class PubSubPublishConvertor : public GenericLuaElementConvertor<PubSubPublish> { + public: + PubSubPublishConvertor(LuaElementConvertors* convertors); + virtual ~PubSubPublishConvertor(); - virtual boost::shared_ptr<PubSubPublish> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubPublish>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubPublish> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubPublish>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubRetractConvertor.cpp b/Sluift/ElementConvertors/PubSubRetractConvertor.cpp index f6d186e..bc0e3d0 100644 --- a/Sluift/ElementConvertors/PubSubRetractConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubRetractConvertor.cpp @@ -17,73 +17,73 @@ using namespace Swift; -PubSubRetractConvertor::PubSubRetractConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubRetract>("pubsub_retract"), - convertors(convertors) { +PubSubRetractConvertor::PubSubRetractConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubRetract>("pubsub_retract"), + convertors(convertors) { } PubSubRetractConvertor::~PubSubRetractConvertor() { } boost::shared_ptr<PubSubRetract> PubSubRetractConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubRetract> result = boost::make_shared<PubSubRetract>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "items"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubItem> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubItem> payload = boost::dynamic_pointer_cast<PubSubItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_item"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubRetract> result = boost::make_shared<PubSubRetract>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "items"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubItem> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubItem> payload = boost::dynamic_pointer_cast<PubSubItem>(convertors->convertFromLuaUntyped(L, -1, "pubsub_item"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setItems(items); - } - lua_pop(L, 1); - lua_getfield(L, -1, "notify"); - if (lua_isboolean(L, -1)) { - result->setNotify(lua_toboolean(L, -1)); - } - lua_pop(L, 1); - return result; + result->setItems(items); + } + lua_pop(L, 1); + lua_getfield(L, -1, "notify"); + if (lua_isboolean(L, -1)) { + result->setNotify(lua_toboolean(L, -1)); + } + lua_pop(L, 1); + return result; } void PubSubRetractConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubRetract> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getNode().c_str()); - lua_setfield(L, -2, "node"); - if (!payload->getItems().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getItems().size()), 0); - { - int i = 0; - foreach(boost::shared_ptr<PubSubItem> item, payload->getItems()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "items"); - } - lua_pushboolean(L, payload->isNotify()); - lua_setfield(L, -2, "notify"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getNode().c_str()); + lua_setfield(L, -2, "node"); + if (!payload->getItems().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getItems().size()), 0); + { + int i = 0; + foreach(boost::shared_ptr<PubSubItem> item, payload->getItems()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "items"); + } + lua_pushboolean(L, payload->isNotify()); + lua_setfield(L, -2, "notify"); } boost::optional<LuaElementConvertor::Documentation> PubSubRetractConvertor::getDocumentation() const { - return Documentation( - "PubSubRetract", - "This table has the following fields:\n\n" - "- `node`: string\n" - "- `items`: array<@{PubSubItem}>\n" - "- `notify`: boolean\n" - ); + return Documentation( + "PubSubRetract", + "This table has the following fields:\n\n" + "- `node`: string\n" + "- `items`: array<@{PubSubItem}>\n" + "- `notify`: boolean\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubRetractConvertor.h b/Sluift/ElementConvertors/PubSubRetractConvertor.h index 6b27ac7..c1f8bd6 100644 --- a/Sluift/ElementConvertors/PubSubRetractConvertor.h +++ b/Sluift/ElementConvertors/PubSubRetractConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubRetractConvertor : public GenericLuaElementConvertor<PubSubRetract> { - public: - PubSubRetractConvertor(LuaElementConvertors* convertors); - virtual ~PubSubRetractConvertor(); + class PubSubRetractConvertor : public GenericLuaElementConvertor<PubSubRetract> { + public: + PubSubRetractConvertor(LuaElementConvertors* convertors); + virtual ~PubSubRetractConvertor(); - virtual boost::shared_ptr<PubSubRetract> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubRetract>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubRetract> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubRetract>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubSubscribeConvertor.cpp b/Sluift/ElementConvertors/PubSubSubscribeConvertor.cpp index 436b660..bb3dcb4 100644 --- a/Sluift/ElementConvertors/PubSubSubscribeConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubSubscribeConvertor.cpp @@ -14,55 +14,55 @@ using namespace Swift; -PubSubSubscribeConvertor::PubSubSubscribeConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubSubscribe>("pubsub_subscribe"), - convertors(convertors) { +PubSubSubscribeConvertor::PubSubSubscribeConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubSubscribe>("pubsub_subscribe"), + convertors(convertors) { } PubSubSubscribeConvertor::~PubSubSubscribeConvertor() { } boost::shared_ptr<PubSubSubscribe> PubSubSubscribeConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubSubscribe> result = boost::make_shared<PubSubSubscribe>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "options"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubOptions> payload = boost::dynamic_pointer_cast<PubSubOptions>(convertors->convertFromLuaUntyped(L, -1, "pubsub_options"))) { - result->setOptions(payload); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubSubscribe> result = boost::make_shared<PubSubSubscribe>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "options"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubOptions> payload = boost::dynamic_pointer_cast<PubSubOptions>(convertors->convertFromLuaUntyped(L, -1, "pubsub_options"))) { + result->setOptions(payload); + } + } + lua_pop(L, 1); + return result; } void PubSubSubscribeConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubSubscribe> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - if (convertors->convertToLuaUntyped(L, payload->getOptions()) > 0) { - lua_setfield(L, -2, "options"); - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + if (convertors->convertToLuaUntyped(L, payload->getOptions()) > 0) { + lua_setfield(L, -2, "options"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubSubscribeConvertor::getDocumentation() const { - return Documentation( - "PubSubSubscribe", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `jid`: jid (string)\n" - "- `options`: @{PubSubOptions}\n" - ); + return Documentation( + "PubSubSubscribe", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `jid`: jid (string)\n" + "- `options`: @{PubSubOptions}\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubSubscribeConvertor.h b/Sluift/ElementConvertors/PubSubSubscribeConvertor.h index a7eac09..592b5aa 100644 --- a/Sluift/ElementConvertors/PubSubSubscribeConvertor.h +++ b/Sluift/ElementConvertors/PubSubSubscribeConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubSubscribeConvertor : public GenericLuaElementConvertor<PubSubSubscribe> { - public: - PubSubSubscribeConvertor(LuaElementConvertors* convertors); - virtual ~PubSubSubscribeConvertor(); + class PubSubSubscribeConvertor : public GenericLuaElementConvertor<PubSubSubscribe> { + public: + PubSubSubscribeConvertor(LuaElementConvertors* convertors); + virtual ~PubSubSubscribeConvertor(); - virtual boost::shared_ptr<PubSubSubscribe> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscribe>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubSubscribe> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscribe>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.cpp b/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.cpp index 3640084..70c5b4f 100644 --- a/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.cpp @@ -13,32 +13,32 @@ using namespace Swift; PubSubSubscribeOptionsConvertor::PubSubSubscribeOptionsConvertor() : - GenericLuaElementConvertor<PubSubSubscribeOptions>("pubsub_subscribe_options") { + GenericLuaElementConvertor<PubSubSubscribeOptions>("pubsub_subscribe_options") { } PubSubSubscribeOptionsConvertor::~PubSubSubscribeOptionsConvertor() { } boost::shared_ptr<PubSubSubscribeOptions> PubSubSubscribeOptionsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubSubscribeOptions> result = boost::make_shared<PubSubSubscribeOptions>(); - lua_getfield(L, -1, "required"); - if (lua_isboolean(L, -1)) { - result->setRequired(lua_toboolean(L, -1)); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubSubscribeOptions> result = boost::make_shared<PubSubSubscribeOptions>(); + lua_getfield(L, -1, "required"); + if (lua_isboolean(L, -1)) { + result->setRequired(lua_toboolean(L, -1)); + } + lua_pop(L, 1); + return result; } void PubSubSubscribeOptionsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubSubscribeOptions> payload) { - lua_createtable(L, 0, 0); - lua_pushboolean(L, payload->isRequired()); - lua_setfield(L, -2, "required"); + lua_createtable(L, 0, 0); + lua_pushboolean(L, payload->isRequired()); + lua_setfield(L, -2, "required"); } boost::optional<LuaElementConvertor::Documentation> PubSubSubscribeOptionsConvertor::getDocumentation() const { - return Documentation( - "PubSubSubscribeOptions", - "This table has the following fields:\n\n" - "- `required`: boolean\n" - ); + return Documentation( + "PubSubSubscribeOptions", + "This table has the following fields:\n\n" + "- `required`: boolean\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.h b/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.h index 1135300..3214dcf 100644 --- a/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.h +++ b/Sluift/ElementConvertors/PubSubSubscribeOptionsConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubSubscribeOptionsConvertor : public GenericLuaElementConvertor<PubSubSubscribeOptions> { - public: - PubSubSubscribeOptionsConvertor(); - virtual ~PubSubSubscribeOptionsConvertor(); + class PubSubSubscribeOptionsConvertor : public GenericLuaElementConvertor<PubSubSubscribeOptions> { + public: + PubSubSubscribeOptionsConvertor(); + virtual ~PubSubSubscribeOptionsConvertor(); - virtual boost::shared_ptr<PubSubSubscribeOptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscribeOptions>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubSubscribeOptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscribeOptions>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/PubSubSubscriptionConvertor.cpp b/Sluift/ElementConvertors/PubSubSubscriptionConvertor.cpp index 21a7fc8..79c188c 100644 --- a/Sluift/ElementConvertors/PubSubSubscriptionConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubSubscriptionConvertor.cpp @@ -14,97 +14,97 @@ using namespace Swift; -PubSubSubscriptionConvertor::PubSubSubscriptionConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubSubscription>("pubsub_subscription"), - convertors(convertors) { +PubSubSubscriptionConvertor::PubSubSubscriptionConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubSubscription>("pubsub_subscription"), + convertors(convertors) { } PubSubSubscriptionConvertor::~PubSubSubscriptionConvertor() { } boost::shared_ptr<PubSubSubscription> PubSubSubscriptionConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubSubscription> result = boost::make_shared<PubSubSubscription>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription_id"); - if (lua_isstring(L, -1)) { - result->setSubscriptionID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "options"); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubSubscribeOptions> payload = boost::dynamic_pointer_cast<PubSubSubscribeOptions>(convertors->convertFromLuaUntyped(L, -1, "pubsub_subscribe_options"))) { - result->setOptions(payload); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription"); - if (lua_isstring(L, -1)) { - if (std::string(lua_tostring(L, -1)) == "none") { - result->setSubscription(PubSubSubscription::None); - } - if (std::string(lua_tostring(L, -1)) == "pending") { - result->setSubscription(PubSubSubscription::Pending); - } - if (std::string(lua_tostring(L, -1)) == "subscribed") { - result->setSubscription(PubSubSubscription::Subscribed); - } - if (std::string(lua_tostring(L, -1)) == "unconfigured") { - result->setSubscription(PubSubSubscription::Unconfigured); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubSubscription> result = boost::make_shared<PubSubSubscription>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription_id"); + if (lua_isstring(L, -1)) { + result->setSubscriptionID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "options"); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubSubscribeOptions> payload = boost::dynamic_pointer_cast<PubSubSubscribeOptions>(convertors->convertFromLuaUntyped(L, -1, "pubsub_subscribe_options"))) { + result->setOptions(payload); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription"); + if (lua_isstring(L, -1)) { + if (std::string(lua_tostring(L, -1)) == "none") { + result->setSubscription(PubSubSubscription::None); + } + if (std::string(lua_tostring(L, -1)) == "pending") { + result->setSubscription(PubSubSubscription::Pending); + } + if (std::string(lua_tostring(L, -1)) == "subscribed") { + result->setSubscription(PubSubSubscription::Subscribed); + } + if (std::string(lua_tostring(L, -1)) == "unconfigured") { + result->setSubscription(PubSubSubscription::Unconfigured); + } + } + lua_pop(L, 1); + return result; } void PubSubSubscriptionConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubSubscription> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (payload->getSubscriptionID()) { - lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); - lua_setfield(L, -2, "subscription_id"); - } - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - if (convertors->convertToLuaUntyped(L, payload->getOptions()) > 0) { - lua_setfield(L, -2, "options"); - } - switch (payload->getSubscription()) { - case PubSubSubscription::None: - lua_pushstring(L, "none"); - break; - case PubSubSubscription::Pending: - lua_pushstring(L, "pending"); - break; - case PubSubSubscription::Subscribed: - lua_pushstring(L, "subscribed"); - break; - case PubSubSubscription::Unconfigured: - lua_pushstring(L, "unconfigured"); - break; - } - lua_setfield(L, -2, "subscription"); + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (payload->getSubscriptionID()) { + lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); + lua_setfield(L, -2, "subscription_id"); + } + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + if (convertors->convertToLuaUntyped(L, payload->getOptions()) > 0) { + lua_setfield(L, -2, "options"); + } + switch (payload->getSubscription()) { + case PubSubSubscription::None: + lua_pushstring(L, "none"); + break; + case PubSubSubscription::Pending: + lua_pushstring(L, "pending"); + break; + case PubSubSubscription::Subscribed: + lua_pushstring(L, "subscribed"); + break; + case PubSubSubscription::Unconfigured: + lua_pushstring(L, "unconfigured"); + break; + } + lua_setfield(L, -2, "subscription"); } boost::optional<LuaElementConvertor::Documentation> PubSubSubscriptionConvertor::getDocumentation() const { - return Documentation( - "PubSubSubscription", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `subscription_id`: string (Optional)\n" - "- `jid`: jid (string)\n" - "- `options`: @{PubSubSubscribeOptions}\n" - "- `subscription`: `\"none\"`, `\"pending\"`, `\"subscribed\"`, or `\"unconfigured\"`\n" - ); + return Documentation( + "PubSubSubscription", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `subscription_id`: string (Optional)\n" + "- `jid`: jid (string)\n" + "- `options`: @{PubSubSubscribeOptions}\n" + "- `subscription`: `\"none\"`, `\"pending\"`, `\"subscribed\"`, or `\"unconfigured\"`\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubSubscriptionConvertor.h b/Sluift/ElementConvertors/PubSubSubscriptionConvertor.h index 7c1b213..84aa275 100644 --- a/Sluift/ElementConvertors/PubSubSubscriptionConvertor.h +++ b/Sluift/ElementConvertors/PubSubSubscriptionConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubSubscriptionConvertor : public GenericLuaElementConvertor<PubSubSubscription> { - public: - PubSubSubscriptionConvertor(LuaElementConvertors* convertors); - virtual ~PubSubSubscriptionConvertor(); + class PubSubSubscriptionConvertor : public GenericLuaElementConvertor<PubSubSubscription> { + public: + PubSubSubscriptionConvertor(LuaElementConvertors* convertors); + virtual ~PubSubSubscriptionConvertor(); - virtual boost::shared_ptr<PubSubSubscription> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscription>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubSubscription> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscription>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.cpp b/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.cpp index cdaf5c7..a81817e 100644 --- a/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.cpp @@ -17,63 +17,63 @@ using namespace Swift; -PubSubSubscriptionsConvertor::PubSubSubscriptionsConvertor(LuaElementConvertors* convertors) : - GenericLuaElementConvertor<PubSubSubscriptions>("pubsub_subscriptions"), - convertors(convertors) { +PubSubSubscriptionsConvertor::PubSubSubscriptionsConvertor(LuaElementConvertors* convertors) : + GenericLuaElementConvertor<PubSubSubscriptions>("pubsub_subscriptions"), + convertors(convertors) { } PubSubSubscriptionsConvertor::~PubSubSubscriptionsConvertor() { } boost::shared_ptr<PubSubSubscriptions> PubSubSubscriptionsConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubSubscriptions> result = boost::make_shared<PubSubSubscriptions>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< boost::shared_ptr<PubSubSubscription> > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - if (boost::shared_ptr<PubSubSubscription> payload = boost::dynamic_pointer_cast<PubSubSubscription>(convertors->convertFromLuaUntyped(L, -1, "pubsub_subscription"))) { - items.push_back(payload); - } - } - lua_pop(L, 1); - } + boost::shared_ptr<PubSubSubscriptions> result = boost::make_shared<PubSubSubscriptions>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< boost::shared_ptr<PubSubSubscription> > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + if (boost::shared_ptr<PubSubSubscription> payload = boost::dynamic_pointer_cast<PubSubSubscription>(convertors->convertFromLuaUntyped(L, -1, "pubsub_subscription"))) { + items.push_back(payload); + } + } + lua_pop(L, 1); + } - result->setSubscriptions(items); - } - return result; + result->setSubscriptions(items); + } + return result; } void PubSubSubscriptionsConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubSubscriptions> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - if (!payload->getSubscriptions().empty()) { - { - int i = 0; - foreach(boost::shared_ptr<PubSubSubscription> item, payload->getSubscriptions()) { - if (convertors->convertToLuaUntyped(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + if (!payload->getSubscriptions().empty()) { + { + int i = 0; + foreach(boost::shared_ptr<PubSubSubscription> item, payload->getSubscriptions()) { + if (convertors->convertToLuaUntyped(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + } } boost::optional<LuaElementConvertor::Documentation> PubSubSubscriptionsConvertor::getDocumentation() const { - return Documentation( - "PubSubSubscriptions", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `subscriptions`: array<@{PubSubSubscription}>\n" - ); + return Documentation( + "PubSubSubscriptions", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `subscriptions`: array<@{PubSubSubscription}>\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.h b/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.h index de5e9f4..82fa1f7 100644 --- a/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.h +++ b/Sluift/ElementConvertors/PubSubSubscriptionsConvertor.h @@ -12,18 +12,18 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubSubscriptionsConvertor : public GenericLuaElementConvertor<PubSubSubscriptions> { - public: - PubSubSubscriptionsConvertor(LuaElementConvertors* convertors); - virtual ~PubSubSubscriptionsConvertor(); + class PubSubSubscriptionsConvertor : public GenericLuaElementConvertor<PubSubSubscriptions> { + public: + PubSubSubscriptionsConvertor(LuaElementConvertors* convertors); + virtual ~PubSubSubscriptionsConvertor(); - virtual boost::shared_ptr<PubSubSubscriptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscriptions>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<PubSubSubscriptions> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubSubscriptions>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - private: - LuaElementConvertors* convertors; - }; + private: + LuaElementConvertors* convertors; + }; } diff --git a/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.cpp b/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.cpp index f25e9cf..3e83a97 100644 --- a/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.cpp +++ b/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.cpp @@ -13,52 +13,52 @@ using namespace Swift; PubSubUnsubscribeConvertor::PubSubUnsubscribeConvertor() : - GenericLuaElementConvertor<PubSubUnsubscribe>("pubsub_unsubscribe") { + GenericLuaElementConvertor<PubSubUnsubscribe>("pubsub_unsubscribe") { } PubSubUnsubscribeConvertor::~PubSubUnsubscribeConvertor() { } boost::shared_ptr<PubSubUnsubscribe> PubSubUnsubscribeConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<PubSubUnsubscribe> result = boost::make_shared<PubSubUnsubscribe>(); - lua_getfield(L, -1, "node"); - if (lua_isstring(L, -1)) { - result->setNode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "jid"); - if (lua_isstring(L, -1)) { - result->setJID(JID(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "subscription_id"); - if (lua_isstring(L, -1)) { - result->setSubscriptionID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<PubSubUnsubscribe> result = boost::make_shared<PubSubUnsubscribe>(); + lua_getfield(L, -1, "node"); + if (lua_isstring(L, -1)) { + result->setNode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "jid"); + if (lua_isstring(L, -1)) { + result->setJID(JID(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "subscription_id"); + if (lua_isstring(L, -1)) { + result->setSubscriptionID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void PubSubUnsubscribeConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<PubSubUnsubscribe> payload) { - lua_createtable(L, 0, 0); - if (payload->getNode()) { - lua_pushstring(L, (*payload->getNode()).c_str()); - lua_setfield(L, -2, "node"); - } - lua_pushstring(L, payload->getJID().toString().c_str()); - lua_setfield(L, -2, "jid"); - if (payload->getSubscriptionID()) { - lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); - lua_setfield(L, -2, "subscription_id"); - } + lua_createtable(L, 0, 0); + if (payload->getNode()) { + lua_pushstring(L, (*payload->getNode()).c_str()); + lua_setfield(L, -2, "node"); + } + lua_pushstring(L, payload->getJID().toString().c_str()); + lua_setfield(L, -2, "jid"); + if (payload->getSubscriptionID()) { + lua_pushstring(L, (*payload->getSubscriptionID()).c_str()); + lua_setfield(L, -2, "subscription_id"); + } } boost::optional<LuaElementConvertor::Documentation> PubSubUnsubscribeConvertor::getDocumentation() const { - return Documentation( - "PubSubUnsubscribe", - "This table has the following fields:\n\n" - "- `node`: string (Optional)\n" - "- `jid`: jid (string)\n" - "- `subscription_id`: string (Optional)\n" - ); + return Documentation( + "PubSubUnsubscribe", + "This table has the following fields:\n\n" + "- `node`: string (Optional)\n" + "- `jid`: jid (string)\n" + "- `subscription_id`: string (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.h b/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.h index 91c856a..c6c3d06 100644 --- a/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.h +++ b/Sluift/ElementConvertors/PubSubUnsubscribeConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class PubSubUnsubscribeConvertor : public GenericLuaElementConvertor<PubSubUnsubscribe> { - public: - PubSubUnsubscribeConvertor(); - virtual ~PubSubUnsubscribeConvertor(); + class PubSubUnsubscribeConvertor : public GenericLuaElementConvertor<PubSubUnsubscribe> { + public: + PubSubUnsubscribeConvertor(); + virtual ~PubSubUnsubscribeConvertor(); - virtual boost::shared_ptr<PubSubUnsubscribe> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubUnsubscribe>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<PubSubUnsubscribe> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<PubSubUnsubscribe>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/RawXMLElementConvertor.cpp b/Sluift/ElementConvertors/RawXMLElementConvertor.cpp index 1b26e74..07ca021 100644 --- a/Sluift/ElementConvertors/RawXMLElementConvertor.cpp +++ b/Sluift/ElementConvertors/RawXMLElementConvertor.cpp @@ -26,19 +26,19 @@ RawXMLElementConvertor::~RawXMLElementConvertor() { } boost::shared_ptr<Element> RawXMLElementConvertor::convertFromLua(lua_State* L, int index, const std::string& type) { - if (type == "xml") { - return boost::make_shared<RawXMLPayload>(std::string(Lua::checkString(L, index))); - } - return boost::shared_ptr<Payload>(); + if (type == "xml") { + return boost::make_shared<RawXMLPayload>(std::string(Lua::checkString(L, index))); + } + return boost::shared_ptr<Payload>(); } boost::optional<std::string> RawXMLElementConvertor::convertToLua(lua_State* L, boost::shared_ptr<Element> element) { - boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(element); - if (!payload) { - return boost::optional<std::string>(); - } - PayloadSerializer* serializer = serializers.getPayloadSerializer(payload); - assert(serializer); - lua_pushstring(L, serializer->serialize(payload).c_str()); - return std::string("xml"); + boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(element); + if (!payload) { + return boost::optional<std::string>(); + } + PayloadSerializer* serializer = serializers.getPayloadSerializer(payload); + assert(serializer); + lua_pushstring(L, serializer->serialize(payload).c_str()); + return std::string("xml"); } diff --git a/Sluift/ElementConvertors/RawXMLElementConvertor.h b/Sluift/ElementConvertors/RawXMLElementConvertor.h index 0a3b463..22323ec 100644 --- a/Sluift/ElementConvertors/RawXMLElementConvertor.h +++ b/Sluift/ElementConvertors/RawXMLElementConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/LuaElementConvertor.h> namespace Swift { - class RawXMLElementConvertor : public LuaElementConvertor { - public: - RawXMLElementConvertor(); - virtual ~RawXMLElementConvertor(); + class RawXMLElementConvertor : public LuaElementConvertor { + public: + RawXMLElementConvertor(); + virtual ~RawXMLElementConvertor(); - virtual boost::shared_ptr<Element> convertFromLua(lua_State*, int index, const std::string& type) SWIFTEN_OVERRIDE; - virtual boost::optional<std::string> convertToLua(lua_State*, boost::shared_ptr<Element>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<Element> convertFromLua(lua_State*, int index, const std::string& type) SWIFTEN_OVERRIDE; + virtual boost::optional<std::string> convertToLua(lua_State*, boost::shared_ptr<Element>) SWIFTEN_OVERRIDE; - private: - FullPayloadSerializerCollection serializers; - }; + private: + FullPayloadSerializerCollection serializers; + }; } diff --git a/Sluift/ElementConvertors/ResultSetConvertor.cpp b/Sluift/ElementConvertors/ResultSetConvertor.cpp index 166ddd4..aa84aac 100644 --- a/Sluift/ElementConvertors/ResultSetConvertor.cpp +++ b/Sluift/ElementConvertors/ResultSetConvertor.cpp @@ -14,102 +14,102 @@ using namespace Swift; ResultSetConvertor::ResultSetConvertor() : - GenericLuaElementConvertor<ResultSet>("result_set") { + GenericLuaElementConvertor<ResultSet>("result_set") { } ResultSetConvertor::~ResultSetConvertor() { } boost::shared_ptr<ResultSet> ResultSetConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<ResultSet> result = boost::make_shared<ResultSet>(); - lua_getfield(L, -1, "max_items"); - if (lua_isstring(L, -1)) { - result->setMaxItems(boost::numeric_cast<int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "count"); - if (lua_isnumber(L, -1)) { - result->setCount(boost::numeric_cast<int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "index"); - if (lua_isnumber(L, -1)) { - result->setIndex(boost::numeric_cast<int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "first_id_index"); - if (lua_isstring(L, -1)) { - result->setFirstIDIndex(boost::numeric_cast<int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "first_id"); - if (lua_isstring(L, -1)) { - result->setFirstID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "last_id"); - if (lua_isstring(L, -1)) { - result->setLastID(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "after"); - if (lua_isstring(L, -1)) { - result->setAfter(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "before"); - if (lua_isstring(L, -1)) { - result->setBefore(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<ResultSet> result = boost::make_shared<ResultSet>(); + lua_getfield(L, -1, "max_items"); + if (lua_isstring(L, -1)) { + result->setMaxItems(boost::numeric_cast<int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "count"); + if (lua_isnumber(L, -1)) { + result->setCount(boost::numeric_cast<int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "index"); + if (lua_isnumber(L, -1)) { + result->setIndex(boost::numeric_cast<int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "first_id_index"); + if (lua_isstring(L, -1)) { + result->setFirstIDIndex(boost::numeric_cast<int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "first_id"); + if (lua_isstring(L, -1)) { + result->setFirstID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "last_id"); + if (lua_isstring(L, -1)) { + result->setLastID(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "after"); + if (lua_isstring(L, -1)) { + result->setAfter(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "before"); + if (lua_isstring(L, -1)) { + result->setBefore(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void ResultSetConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<ResultSet> payload) { - lua_createtable(L, 0, 0); - if (payload->getMaxItems()) { - lua_pushnumber(L, *payload->getMaxItems()); - lua_setfield(L, -2, "max_items"); - } - if (payload->getCount()) { - lua_pushnumber(L, *payload->getCount()); - lua_setfield(L, -2, "count"); - } - if (payload->getIndex()) { - lua_pushnumber(L, *payload->getIndex()); - lua_setfield(L, -2, "index"); - } - if (payload->getFirstIDIndex()) { - lua_pushnumber(L, *payload->getFirstIDIndex()); - lua_setfield(L, -2, "first_id_index"); - } - if (payload->getFirstID()) { - lua_pushstring(L, (*payload->getFirstID()).c_str()); - lua_setfield(L, -2, "first_id"); - } - if (payload->getLastID()) { - lua_pushstring(L, (*payload->getLastID()).c_str()); - lua_setfield(L, -2, "last_id"); - } - if (payload->getAfter()) { - lua_pushstring(L, (*payload->getAfter()).c_str()); - lua_setfield(L, -2, "after"); - } - if (payload->getBefore()) { - lua_pushstring(L, (*payload->getBefore()).c_str()); - lua_setfield(L, -2, "before"); - } + lua_createtable(L, 0, 0); + if (payload->getMaxItems()) { + lua_pushnumber(L, *payload->getMaxItems()); + lua_setfield(L, -2, "max_items"); + } + if (payload->getCount()) { + lua_pushnumber(L, *payload->getCount()); + lua_setfield(L, -2, "count"); + } + if (payload->getIndex()) { + lua_pushnumber(L, *payload->getIndex()); + lua_setfield(L, -2, "index"); + } + if (payload->getFirstIDIndex()) { + lua_pushnumber(L, *payload->getFirstIDIndex()); + lua_setfield(L, -2, "first_id_index"); + } + if (payload->getFirstID()) { + lua_pushstring(L, (*payload->getFirstID()).c_str()); + lua_setfield(L, -2, "first_id"); + } + if (payload->getLastID()) { + lua_pushstring(L, (*payload->getLastID()).c_str()); + lua_setfield(L, -2, "last_id"); + } + if (payload->getAfter()) { + lua_pushstring(L, (*payload->getAfter()).c_str()); + lua_setfield(L, -2, "after"); + } + if (payload->getBefore()) { + lua_pushstring(L, (*payload->getBefore()).c_str()); + lua_setfield(L, -2, "before"); + } } boost::optional<LuaElementConvertor::Documentation> ResultSetConvertor::getDocumentation() const { - return Documentation( - "ResultSet", - "This table has the following fields:\n\n" - "- `max_items`: number (Optional)\n" - "- `count`: number (Optional)\n" - "- `first_id_index`: number (Optional)\n" - "- `first_id`: string (Optional)\n" - "- `last_id`: string (Optional)\n" - "- `after`: string (Optional)\n" - ); + return Documentation( + "ResultSet", + "This table has the following fields:\n\n" + "- `max_items`: number (Optional)\n" + "- `count`: number (Optional)\n" + "- `first_id_index`: number (Optional)\n" + "- `first_id`: string (Optional)\n" + "- `last_id`: string (Optional)\n" + "- `after`: string (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/ResultSetConvertor.h b/Sluift/ElementConvertors/ResultSetConvertor.h index 46353f2..5df9c3e 100644 --- a/Sluift/ElementConvertors/ResultSetConvertor.h +++ b/Sluift/ElementConvertors/ResultSetConvertor.h @@ -12,16 +12,16 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class ResultSetConvertor : public GenericLuaElementConvertor<ResultSet> { - public: - ResultSetConvertor(); - virtual ~ResultSetConvertor(); + class ResultSetConvertor : public GenericLuaElementConvertor<ResultSet> { + public: + ResultSetConvertor(); + virtual ~ResultSetConvertor(); - virtual boost::shared_ptr<ResultSet> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<ResultSet>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<ResultSet> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<ResultSet>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/SecurityLabelConvertor.cpp b/Sluift/ElementConvertors/SecurityLabelConvertor.cpp index 011cfda..a5cae40 100644 --- a/Sluift/ElementConvertors/SecurityLabelConvertor.cpp +++ b/Sluift/ElementConvertors/SecurityLabelConvertor.cpp @@ -16,84 +16,84 @@ using namespace Swift; SecurityLabelConvertor::SecurityLabelConvertor() : - GenericLuaElementConvertor<SecurityLabel>("security_label") { + GenericLuaElementConvertor<SecurityLabel>("security_label") { } SecurityLabelConvertor::~SecurityLabelConvertor() { } boost::shared_ptr<SecurityLabel> SecurityLabelConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<SecurityLabel> result = boost::make_shared<SecurityLabel>(); - lua_getfield(L, -1, "equivalent_labels"); - if (lua_type(L, -1) == LUA_TTABLE) { - std::vector< std::string > items; - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (lua_isstring(L, -1)) { - items.push_back(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - } + boost::shared_ptr<SecurityLabel> result = boost::make_shared<SecurityLabel>(); + lua_getfield(L, -1, "equivalent_labels"); + if (lua_type(L, -1) == LUA_TTABLE) { + std::vector< std::string > items; + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (lua_isstring(L, -1)) { + items.push_back(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + } - result->setEquivalentLabels(items); - } - lua_pop(L, 1); - lua_getfield(L, -1, "foreground_color"); - if (lua_isstring(L, -1)) { - result->setForegroundColor(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "display_marking"); - if (lua_isstring(L, -1)) { - result->setDisplayMarking(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "background_color"); - if (lua_isstring(L, -1)) { - result->setBackgroundColor(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "label"); - if (lua_isstring(L, -1)) { - result->setLabel(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + result->setEquivalentLabels(items); + } + lua_pop(L, 1); + lua_getfield(L, -1, "foreground_color"); + if (lua_isstring(L, -1)) { + result->setForegroundColor(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "display_marking"); + if (lua_isstring(L, -1)) { + result->setDisplayMarking(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "background_color"); + if (lua_isstring(L, -1)) { + result->setBackgroundColor(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "label"); + if (lua_isstring(L, -1)) { + result->setLabel(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void SecurityLabelConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<SecurityLabel> payload) { - lua_createtable(L, 0, 0); - if (!payload->getEquivalentLabels().empty()) { - lua_createtable(L, boost::numeric_cast<int>(payload->getEquivalentLabels().size()), 0); - { - int i = 0; - foreach(const std::string& item, payload->getEquivalentLabels()) { - lua_pushstring(L, item.c_str()); - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - lua_setfield(L, -2, "equivalent_labels"); - } - lua_pushstring(L, payload->getForegroundColor().c_str()); - lua_setfield(L, -2, "foreground_color"); - lua_pushstring(L, payload->getDisplayMarking().c_str()); - lua_setfield(L, -2, "display_marking"); - lua_pushstring(L, payload->getBackgroundColor().c_str()); - lua_setfield(L, -2, "background_color"); - lua_pushstring(L, payload->getLabel().c_str()); - lua_setfield(L, -2, "label"); + lua_createtable(L, 0, 0); + if (!payload->getEquivalentLabels().empty()) { + lua_createtable(L, boost::numeric_cast<int>(payload->getEquivalentLabels().size()), 0); + { + int i = 0; + foreach(const std::string& item, payload->getEquivalentLabels()) { + lua_pushstring(L, item.c_str()); + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + lua_setfield(L, -2, "equivalent_labels"); + } + lua_pushstring(L, payload->getForegroundColor().c_str()); + lua_setfield(L, -2, "foreground_color"); + lua_pushstring(L, payload->getDisplayMarking().c_str()); + lua_setfield(L, -2, "display_marking"); + lua_pushstring(L, payload->getBackgroundColor().c_str()); + lua_setfield(L, -2, "background_color"); + lua_pushstring(L, payload->getLabel().c_str()); + lua_setfield(L, -2, "label"); } boost::optional<LuaElementConvertor::Documentation> SecurityLabelConvertor::getDocumentation() const { - return Documentation( - "SecurityLabel", - "This table has the following fields:\n\n" - "- `equivalent_labels`: array<string>\n" - "- `foreground_color`: string\n" - "- `display_marking`: string\n" - "- `background_color`: string\n" - "- `label`: string\n" - ); + return Documentation( + "SecurityLabel", + "This table has the following fields:\n\n" + "- `equivalent_labels`: array<string>\n" + "- `foreground_color`: string\n" + "- `display_marking`: string\n" + "- `background_color`: string\n" + "- `label`: string\n" + ); } diff --git a/Sluift/ElementConvertors/SecurityLabelConvertor.h b/Sluift/ElementConvertors/SecurityLabelConvertor.h index 001123d..eff455c 100644 --- a/Sluift/ElementConvertors/SecurityLabelConvertor.h +++ b/Sluift/ElementConvertors/SecurityLabelConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class SecurityLabelConvertor : public GenericLuaElementConvertor<SecurityLabel> { - public: - SecurityLabelConvertor(); - virtual ~SecurityLabelConvertor(); + class SecurityLabelConvertor : public GenericLuaElementConvertor<SecurityLabel> { + public: + SecurityLabelConvertor(); + virtual ~SecurityLabelConvertor(); - virtual boost::shared_ptr<SecurityLabel> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<SecurityLabel>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<SecurityLabel> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<SecurityLabel>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/SoftwareVersionConvertor.cpp b/Sluift/ElementConvertors/SoftwareVersionConvertor.cpp index 9ac1679..4f372c2 100644 --- a/Sluift/ElementConvertors/SoftwareVersionConvertor.cpp +++ b/Sluift/ElementConvertors/SoftwareVersionConvertor.cpp @@ -22,31 +22,31 @@ SoftwareVersionConvertor::~SoftwareVersionConvertor() { } boost::shared_ptr<SoftwareVersion> SoftwareVersionConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<SoftwareVersion> result = boost::make_shared<SoftwareVersion>(); - lua_getfield(L, -1, "name"); - if (!lua_isnil(L, -1)) { - result->setName(std::string(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "version"); - if (!lua_isnil(L, -1)) { - result->setVersion(std::string(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "os"); - if (!lua_isnil(L, -1)) { - result->setOS(std::string(Lua::checkString(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<SoftwareVersion> result = boost::make_shared<SoftwareVersion>(); + lua_getfield(L, -1, "name"); + if (!lua_isnil(L, -1)) { + result->setName(std::string(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "version"); + if (!lua_isnil(L, -1)) { + result->setVersion(std::string(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "os"); + if (!lua_isnil(L, -1)) { + result->setOS(std::string(Lua::checkString(L, -1))); + } + lua_pop(L, 1); + return result; } void SoftwareVersionConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<SoftwareVersion> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getName().c_str()); - lua_setfield(L, -2, "name"); - lua_pushstring(L, payload->getVersion().c_str()); - lua_setfield(L, -2, "version"); - lua_pushstring(L, payload->getOS().c_str()); - lua_setfield(L, -2, "os"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getName().c_str()); + lua_setfield(L, -2, "name"); + lua_pushstring(L, payload->getVersion().c_str()); + lua_setfield(L, -2, "version"); + lua_pushstring(L, payload->getOS().c_str()); + lua_setfield(L, -2, "os"); } diff --git a/Sluift/ElementConvertors/SoftwareVersionConvertor.h b/Sluift/ElementConvertors/SoftwareVersionConvertor.h index 77b2ad6..4df23c0 100644 --- a/Sluift/ElementConvertors/SoftwareVersionConvertor.h +++ b/Sluift/ElementConvertors/SoftwareVersionConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class SoftwareVersionConvertor : public GenericLuaElementConvertor<SoftwareVersion> { - public: - SoftwareVersionConvertor(); - virtual ~SoftwareVersionConvertor(); + class SoftwareVersionConvertor : public GenericLuaElementConvertor<SoftwareVersion> { + public: + SoftwareVersionConvertor(); + virtual ~SoftwareVersionConvertor(); - virtual boost::shared_ptr<SoftwareVersion> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<SoftwareVersion>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<SoftwareVersion> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<SoftwareVersion>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/StanzaConvertor.h b/Sluift/ElementConvertors/StanzaConvertor.h index 420232a..309121e 100644 --- a/Sluift/ElementConvertors/StanzaConvertor.h +++ b/Sluift/ElementConvertors/StanzaConvertor.h @@ -19,71 +19,71 @@ #include <Sluift/LuaElementConvertors.h> namespace Swift { - template <typename T> class StanzaConvertor : public GenericLuaElementConvertor<T> { - public: - StanzaConvertor(const std::string& tag) - : GenericLuaElementConvertor<T>(tag) { - } + template <typename T> class StanzaConvertor : public GenericLuaElementConvertor<T> { + public: + StanzaConvertor(const std::string& tag) + : GenericLuaElementConvertor<T>(tag) { + } - virtual ~StanzaConvertor() { - } + virtual ~StanzaConvertor() { + } - boost::shared_ptr<T> getStanza(lua_State* L, LuaElementConvertors* convertors) { - boost::shared_ptr<T> result = boost::make_shared<T>(); - lua_getfield(L, -1, "id"); - if (lua_isstring(L, -1)) { - result->setID(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); - lua_getfield(L, -1, "to"); - if (lua_isstring(L, -1)) { - result->setTo(lua_tostring(L, -1)); - } - lua_pop(L, 1); - lua_getfield(L, -1, "payloads"); - if (lua_type(L, -1) == LUA_TTABLE) { - for(size_t i = 0; i < lua_objlen(L, -1); ++i) { - lua_pushnumber(L, i + 1); - lua_gettable(L, -2); - if (!lua_isnil(L, -1)) { - boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1)); - if (!!payload) { - result->addPayload(payload); - } - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - return result; - } + boost::shared_ptr<T> getStanza(lua_State* L, LuaElementConvertors* convertors) { + boost::shared_ptr<T> result = boost::make_shared<T>(); + lua_getfield(L, -1, "id"); + if (lua_isstring(L, -1)) { + result->setID(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); + lua_getfield(L, -1, "to"); + if (lua_isstring(L, -1)) { + result->setTo(lua_tostring(L, -1)); + } + lua_pop(L, 1); + lua_getfield(L, -1, "payloads"); + if (lua_type(L, -1) == LUA_TTABLE) { + for(size_t i = 0; i < lua_objlen(L, -1); ++i) { + lua_pushnumber(L, i + 1); + lua_gettable(L, -2); + if (!lua_isnil(L, -1)) { + boost::shared_ptr<Payload> payload = boost::dynamic_pointer_cast<Payload>(convertors->convertFromLua(L, -1)); + if (!!payload) { + result->addPayload(payload); + } + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + return result; + } - void pushStanza(lua_State* L, const boost::shared_ptr<T> stanza, LuaElementConvertors* convertors) { - lua_createtable(L, 0, 0); - lua_pushstring(L, stanza->getID().c_str()); - lua_setfield(L, -2, "id"); - lua_pushstring(L, stanza->getFrom().toString().c_str()); - lua_setfield(L, -2, "from"); - lua_pushstring(L, stanza->getTo().toString().c_str()); - lua_setfield(L, -2, "to"); - if (!stanza->getPayloads().empty()) { - lua_createtable(L, boost::numeric_cast<int>(stanza->getPayloads().size()), 0); - { - int i = 0; - foreach(const boost::shared_ptr<Payload> &item, stanza->getPayloads()) { - if (convertors->convertToLua(L, item) > 0) { - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - ++i; - } - } - } - lua_setfield(L, -2, "payloads"); - } - } - }; + void pushStanza(lua_State* L, const boost::shared_ptr<T> stanza, LuaElementConvertors* convertors) { + lua_createtable(L, 0, 0); + lua_pushstring(L, stanza->getID().c_str()); + lua_setfield(L, -2, "id"); + lua_pushstring(L, stanza->getFrom().toString().c_str()); + lua_setfield(L, -2, "from"); + lua_pushstring(L, stanza->getTo().toString().c_str()); + lua_setfield(L, -2, "to"); + if (!stanza->getPayloads().empty()) { + lua_createtable(L, boost::numeric_cast<int>(stanza->getPayloads().size()), 0); + { + int i = 0; + foreach(const boost::shared_ptr<Payload> &item, stanza->getPayloads()) { + if (convertors->convertToLua(L, item) > 0) { + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + ++i; + } + } + } + lua_setfield(L, -2, "payloads"); + } + } + }; } diff --git a/Sluift/ElementConvertors/StatusConvertor.cpp b/Sluift/ElementConvertors/StatusConvertor.cpp index 575a4ea..241a2cc 100644 --- a/Sluift/ElementConvertors/StatusConvertor.cpp +++ b/Sluift/ElementConvertors/StatusConvertor.cpp @@ -22,17 +22,17 @@ StatusConvertor::~StatusConvertor() { } boost::shared_ptr<Status> StatusConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Status> result = boost::make_shared<Status>(); - lua_getfield(L, -1, "text"); - if (lua_isstring(L, -1)) { - result->setText(lua_tostring(L, -1)); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<Status> result = boost::make_shared<Status>(); + lua_getfield(L, -1, "text"); + if (lua_isstring(L, -1)) { + result->setText(lua_tostring(L, -1)); + } + lua_pop(L, 1); + return result; } void StatusConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Status> payload) { - lua_createtable(L, 0, 0); - lua_pushstring(L, payload->getText().c_str()); - lua_setfield(L, -2, "text"); + lua_createtable(L, 0, 0); + lua_pushstring(L, payload->getText().c_str()); + lua_setfield(L, -2, "text"); } diff --git a/Sluift/ElementConvertors/StatusConvertor.h b/Sluift/ElementConvertors/StatusConvertor.h index 33fe861..739d319 100644 --- a/Sluift/ElementConvertors/StatusConvertor.h +++ b/Sluift/ElementConvertors/StatusConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class StatusConvertor : public GenericLuaElementConvertor<Status> { - public: - StatusConvertor(); - virtual ~StatusConvertor(); + class StatusConvertor : public GenericLuaElementConvertor<Status> { + public: + StatusConvertor(); + virtual ~StatusConvertor(); - virtual boost::shared_ptr<Status> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Status>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<Status> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Status>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/StatusShowConvertor.cpp b/Sluift/ElementConvertors/StatusShowConvertor.cpp index faae289..d1c1e85 100644 --- a/Sluift/ElementConvertors/StatusShowConvertor.cpp +++ b/Sluift/ElementConvertors/StatusShowConvertor.cpp @@ -23,54 +23,54 @@ StatusShowConvertor::~StatusShowConvertor() { } boost::shared_ptr<StatusShow> StatusShowConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<StatusShow> result = boost::make_shared<StatusShow>(); - lua_getfield(L, -1, "type"); - if (lua_isstring(L, -1)) { - result->setType(convertStatusShowTypeFromString(lua_tostring(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<StatusShow> result = boost::make_shared<StatusShow>(); + lua_getfield(L, -1, "type"); + if (lua_isstring(L, -1)) { + result->setType(convertStatusShowTypeFromString(lua_tostring(L, -1))); + } + lua_pop(L, 1); + return result; } void StatusShowConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<StatusShow> payload) { - lua_createtable(L, 0, 0); - const std::string show = convertStatusShowTypeToString(payload->getType()); - if (!show.empty()) { - lua_pushstring(L, show.c_str()); - lua_setfield(L, -2, "type"); - } + lua_createtable(L, 0, 0); + const std::string show = convertStatusShowTypeToString(payload->getType()); + if (!show.empty()) { + lua_pushstring(L, show.c_str()); + lua_setfield(L, -2, "type"); + } } std::string StatusShowConvertor::convertStatusShowTypeToString(const StatusShow::Type &show) { - switch (show) { - case StatusShow::Online: return "online"; - case StatusShow::FFC: return "ffc"; - case StatusShow::Away: return "away"; - case StatusShow::XA: return "xa"; - case StatusShow::DND: return "dnd"; - case StatusShow::None: return ""; - } - assert(false); - return ""; + switch (show) { + case StatusShow::Online: return "online"; + case StatusShow::FFC: return "ffc"; + case StatusShow::Away: return "away"; + case StatusShow::XA: return "xa"; + case StatusShow::DND: return "dnd"; + case StatusShow::None: return ""; + } + assert(false); + return ""; } StatusShow::Type StatusShowConvertor::convertStatusShowTypeFromString(const std::string& show) { - if (show == "online") { - return StatusShow::Online; - } - else if (show == "ffc") { - return StatusShow::FFC; - } - else if (show == "away") { - return StatusShow::Away; - } - else if (show == "xa") { - return StatusShow::XA; - } - else if (show == "dnd") { - return StatusShow::DND; - } - else { - throw Lua::Exception("Illegal status show: '" + show + "'"); - } + if (show == "online") { + return StatusShow::Online; + } + else if (show == "ffc") { + return StatusShow::FFC; + } + else if (show == "away") { + return StatusShow::Away; + } + else if (show == "xa") { + return StatusShow::XA; + } + else if (show == "dnd") { + return StatusShow::DND; + } + else { + throw Lua::Exception("Illegal status show: '" + show + "'"); + } } diff --git a/Sluift/ElementConvertors/StatusShowConvertor.h b/Sluift/ElementConvertors/StatusShowConvertor.h index d71493d..1eef447 100644 --- a/Sluift/ElementConvertors/StatusShowConvertor.h +++ b/Sluift/ElementConvertors/StatusShowConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class StatusShowConvertor : public GenericLuaElementConvertor<StatusShow> { - public: - StatusShowConvertor(); - virtual ~StatusShowConvertor(); + class StatusShowConvertor : public GenericLuaElementConvertor<StatusShow> { + public: + StatusShowConvertor(); + virtual ~StatusShowConvertor(); - virtual boost::shared_ptr<StatusShow> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<StatusShow>) SWIFTEN_OVERRIDE; + virtual boost::shared_ptr<StatusShow> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<StatusShow>) SWIFTEN_OVERRIDE; - static std::string convertStatusShowTypeToString(const StatusShow::Type &show); - static StatusShow::Type convertStatusShowTypeFromString(const std::string& show); - }; + static std::string convertStatusShowTypeToString(const StatusShow::Type &show); + static StatusShow::Type convertStatusShowTypeFromString(const std::string& show); + }; } diff --git a/Sluift/ElementConvertors/SubjectConvertor.cpp b/Sluift/ElementConvertors/SubjectConvertor.cpp index 8f15515..ac40744 100644 --- a/Sluift/ElementConvertors/SubjectConvertor.cpp +++ b/Sluift/ElementConvertors/SubjectConvertor.cpp @@ -21,17 +21,17 @@ SubjectConvertor::~SubjectConvertor() { } boost::shared_ptr<Subject> SubjectConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<Subject> result = boost::make_shared<Subject>(); - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "text")) { - result->setText(*value); - } - return result; + boost::shared_ptr<Subject> result = boost::make_shared<Subject>(); + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "text")) { + result->setText(*value); + } + return result; } void SubjectConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<Subject> payload) { - lua_createtable(L, 0, 0); - if (!payload->getText().empty()) { - lua_pushstring(L, payload->getText().c_str()); - lua_setfield(L, -2, "text"); - } + lua_createtable(L, 0, 0); + if (!payload->getText().empty()) { + lua_pushstring(L, payload->getText().c_str()); + lua_setfield(L, -2, "text"); + } } diff --git a/Sluift/ElementConvertors/SubjectConvertor.h b/Sluift/ElementConvertors/SubjectConvertor.h index 5969293..604ad9c 100644 --- a/Sluift/ElementConvertors/SubjectConvertor.h +++ b/Sluift/ElementConvertors/SubjectConvertor.h @@ -12,14 +12,14 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class SubjectConvertor : public GenericLuaElementConvertor<Subject> { - public: - SubjectConvertor(); - virtual ~SubjectConvertor(); + class SubjectConvertor : public GenericLuaElementConvertor<Subject> { + public: + SubjectConvertor(); + virtual ~SubjectConvertor(); - virtual boost::shared_ptr<Subject> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<Subject>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<Subject> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<Subject>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/UserLocationConvertor.cpp b/Sluift/ElementConvertors/UserLocationConvertor.cpp index 67c4ec0..d59382b 100644 --- a/Sluift/ElementConvertors/UserLocationConvertor.cpp +++ b/Sluift/ElementConvertors/UserLocationConvertor.cpp @@ -16,244 +16,244 @@ using namespace Swift; UserLocationConvertor::UserLocationConvertor() : - GenericLuaElementConvertor<UserLocation>("user_location") { + GenericLuaElementConvertor<UserLocation>("user_location") { } UserLocationConvertor::~UserLocationConvertor() { } boost::shared_ptr<UserLocation> UserLocationConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<UserLocation> result = boost::make_shared<UserLocation>(); - lua_getfield(L, -1, "area"); - if (lua_isstring(L, -1)) { - result->setArea(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "altitude"); - if (lua_isnumber(L, -1)) { - result->setAltitude(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "locality"); - if (lua_isstring(L, -1)) { - result->setLocality(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "latitude"); - if (lua_isnumber(L, -1)) { - result->setLatitude(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "accuracy"); - if (lua_isnumber(L, -1)) { - result->setAccuracy(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "description"); - if (lua_isstring(L, -1)) { - result->setDescription(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "country_code"); - if (lua_isstring(L, -1)) { - result->setCountryCode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "timestamp"); - if (lua_isstring(L, -1)) { - result->setTimestamp(stringToDateTime(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "floor"); - if (lua_isstring(L, -1)) { - result->setFloor(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "building"); - if (lua_isstring(L, -1)) { - result->setBuilding(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "room"); - if (lua_isstring(L, -1)) { - result->setRoom(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "country"); - if (lua_isstring(L, -1)) { - result->setCountry(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "region"); - if (lua_isstring(L, -1)) { - result->setRegion(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "uri"); - if (lua_isstring(L, -1)) { - result->setURI(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "longitude"); - if (lua_isnumber(L, -1)) { - result->setLongitude(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "error"); - if (lua_isnumber(L, -1)) { - result->setError(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "postal_code"); - if (lua_isstring(L, -1)) { - result->setPostalCode(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "bearing"); - if (lua_isnumber(L, -1)) { - result->setBearing(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "text"); - if (lua_isstring(L, -1)) { - result->setText(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "datum"); - if (lua_isstring(L, -1)) { - result->setDatum(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "street"); - if (lua_isstring(L, -1)) { - result->setStreet(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "speed"); - if (lua_isnumber(L, -1)) { - result->setSpeed(boost::numeric_cast<float>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<UserLocation> result = boost::make_shared<UserLocation>(); + lua_getfield(L, -1, "area"); + if (lua_isstring(L, -1)) { + result->setArea(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "altitude"); + if (lua_isnumber(L, -1)) { + result->setAltitude(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "locality"); + if (lua_isstring(L, -1)) { + result->setLocality(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "latitude"); + if (lua_isnumber(L, -1)) { + result->setLatitude(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "accuracy"); + if (lua_isnumber(L, -1)) { + result->setAccuracy(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "description"); + if (lua_isstring(L, -1)) { + result->setDescription(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "country_code"); + if (lua_isstring(L, -1)) { + result->setCountryCode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "timestamp"); + if (lua_isstring(L, -1)) { + result->setTimestamp(stringToDateTime(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "floor"); + if (lua_isstring(L, -1)) { + result->setFloor(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "building"); + if (lua_isstring(L, -1)) { + result->setBuilding(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "room"); + if (lua_isstring(L, -1)) { + result->setRoom(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "country"); + if (lua_isstring(L, -1)) { + result->setCountry(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "region"); + if (lua_isstring(L, -1)) { + result->setRegion(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "uri"); + if (lua_isstring(L, -1)) { + result->setURI(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "longitude"); + if (lua_isnumber(L, -1)) { + result->setLongitude(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "error"); + if (lua_isnumber(L, -1)) { + result->setError(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "postal_code"); + if (lua_isstring(L, -1)) { + result->setPostalCode(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "bearing"); + if (lua_isnumber(L, -1)) { + result->setBearing(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "text"); + if (lua_isstring(L, -1)) { + result->setText(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "datum"); + if (lua_isstring(L, -1)) { + result->setDatum(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "street"); + if (lua_isstring(L, -1)) { + result->setStreet(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "speed"); + if (lua_isnumber(L, -1)) { + result->setSpeed(boost::numeric_cast<float>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + return result; } void UserLocationConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<UserLocation> payload) { - lua_createtable(L, 0, 0); - if (payload->getArea()) { - lua_pushstring(L, (*payload->getArea()).c_str()); - lua_setfield(L, -2, "area"); - } - if (payload->getAltitude()) { - lua_pushnumber(L, (*payload->getAltitude())); - lua_setfield(L, -2, "altitude"); - } - if (payload->getLocality()) { - lua_pushstring(L, (*payload->getLocality()).c_str()); - lua_setfield(L, -2, "locality"); - } - if (payload->getLatitude()) { - lua_pushnumber(L, (*payload->getLatitude())); - lua_setfield(L, -2, "latitude"); - } - if (payload->getAccuracy()) { - lua_pushnumber(L, (*payload->getAccuracy())); - lua_setfield(L, -2, "accuracy"); - } - if (payload->getDescription()) { - lua_pushstring(L, (*payload->getDescription()).c_str()); - lua_setfield(L, -2, "description"); - } - if (payload->getCountryCode()) { - lua_pushstring(L, (*payload->getCountryCode()).c_str()); - lua_setfield(L, -2, "country_code"); - } - if (payload->getTimestamp()) { - lua_pushstring(L, dateTimeToString((*payload->getTimestamp())).c_str()); - lua_setfield(L, -2, "timestamp"); - } - if (payload->getFloor()) { - lua_pushstring(L, (*payload->getFloor()).c_str()); - lua_setfield(L, -2, "floor"); - } - if (payload->getBuilding()) { - lua_pushstring(L, (*payload->getBuilding()).c_str()); - lua_setfield(L, -2, "building"); - } - if (payload->getRoom()) { - lua_pushstring(L, (*payload->getRoom()).c_str()); - lua_setfield(L, -2, "room"); - } - if (payload->getCountry()) { - lua_pushstring(L, (*payload->getCountry()).c_str()); - lua_setfield(L, -2, "country"); - } - if (payload->getRegion()) { - lua_pushstring(L, (*payload->getRegion()).c_str()); - lua_setfield(L, -2, "region"); - } - if (payload->getURI()) { - lua_pushstring(L, (*payload->getURI()).c_str()); - lua_setfield(L, -2, "uri"); - } - if (payload->getLongitude()) { - lua_pushnumber(L, (*payload->getLongitude())); - lua_setfield(L, -2, "longitude"); - } - if (payload->getError()) { - lua_pushnumber(L, (*payload->getError())); - lua_setfield(L, -2, "error"); - } - if (payload->getPostalCode()) { - lua_pushstring(L, (*payload->getPostalCode()).c_str()); - lua_setfield(L, -2, "postal_code"); - } - if (payload->getBearing()) { - lua_pushnumber(L, (*payload->getBearing())); - lua_setfield(L, -2, "bearing"); - } - if (payload->getText()) { - lua_pushstring(L, (*payload->getText()).c_str()); - lua_setfield(L, -2, "text"); - } - if (payload->getDatum()) { - lua_pushstring(L, (*payload->getDatum()).c_str()); - lua_setfield(L, -2, "datum"); - } - if (payload->getStreet()) { - lua_pushstring(L, (*payload->getStreet()).c_str()); - lua_setfield(L, -2, "street"); - } - if (payload->getSpeed()) { - lua_pushnumber(L, (*payload->getSpeed())); - lua_setfield(L, -2, "speed"); - } + lua_createtable(L, 0, 0); + if (payload->getArea()) { + lua_pushstring(L, (*payload->getArea()).c_str()); + lua_setfield(L, -2, "area"); + } + if (payload->getAltitude()) { + lua_pushnumber(L, (*payload->getAltitude())); + lua_setfield(L, -2, "altitude"); + } + if (payload->getLocality()) { + lua_pushstring(L, (*payload->getLocality()).c_str()); + lua_setfield(L, -2, "locality"); + } + if (payload->getLatitude()) { + lua_pushnumber(L, (*payload->getLatitude())); + lua_setfield(L, -2, "latitude"); + } + if (payload->getAccuracy()) { + lua_pushnumber(L, (*payload->getAccuracy())); + lua_setfield(L, -2, "accuracy"); + } + if (payload->getDescription()) { + lua_pushstring(L, (*payload->getDescription()).c_str()); + lua_setfield(L, -2, "description"); + } + if (payload->getCountryCode()) { + lua_pushstring(L, (*payload->getCountryCode()).c_str()); + lua_setfield(L, -2, "country_code"); + } + if (payload->getTimestamp()) { + lua_pushstring(L, dateTimeToString((*payload->getTimestamp())).c_str()); + lua_setfield(L, -2, "timestamp"); + } + if (payload->getFloor()) { + lua_pushstring(L, (*payload->getFloor()).c_str()); + lua_setfield(L, -2, "floor"); + } + if (payload->getBuilding()) { + lua_pushstring(L, (*payload->getBuilding()).c_str()); + lua_setfield(L, -2, "building"); + } + if (payload->getRoom()) { + lua_pushstring(L, (*payload->getRoom()).c_str()); + lua_setfield(L, -2, "room"); + } + if (payload->getCountry()) { + lua_pushstring(L, (*payload->getCountry()).c_str()); + lua_setfield(L, -2, "country"); + } + if (payload->getRegion()) { + lua_pushstring(L, (*payload->getRegion()).c_str()); + lua_setfield(L, -2, "region"); + } + if (payload->getURI()) { + lua_pushstring(L, (*payload->getURI()).c_str()); + lua_setfield(L, -2, "uri"); + } + if (payload->getLongitude()) { + lua_pushnumber(L, (*payload->getLongitude())); + lua_setfield(L, -2, "longitude"); + } + if (payload->getError()) { + lua_pushnumber(L, (*payload->getError())); + lua_setfield(L, -2, "error"); + } + if (payload->getPostalCode()) { + lua_pushstring(L, (*payload->getPostalCode()).c_str()); + lua_setfield(L, -2, "postal_code"); + } + if (payload->getBearing()) { + lua_pushnumber(L, (*payload->getBearing())); + lua_setfield(L, -2, "bearing"); + } + if (payload->getText()) { + lua_pushstring(L, (*payload->getText()).c_str()); + lua_setfield(L, -2, "text"); + } + if (payload->getDatum()) { + lua_pushstring(L, (*payload->getDatum()).c_str()); + lua_setfield(L, -2, "datum"); + } + if (payload->getStreet()) { + lua_pushstring(L, (*payload->getStreet()).c_str()); + lua_setfield(L, -2, "street"); + } + if (payload->getSpeed()) { + lua_pushnumber(L, (*payload->getSpeed())); + lua_setfield(L, -2, "speed"); + } } boost::optional<LuaElementConvertor::Documentation> UserLocationConvertor::getDocumentation() const { - return Documentation( - "UserLocation", - "This table has the following fields:\n\n" - "- `area`: string (Optional)\n" - "- `altitude`: @{float} (Optional)\n" - "- `locality`: string (Optional)\n" - "- `latitude`: @{float} (Optional)\n" - "- `accuracy`: @{float} (Optional)\n" - "- `description`: string (Optional)\n" - "- `country_code`: string (Optional)\n" - "- `timestamp`: datetime (string) (Optional)\n" - "- `floor`: string (Optional)\n" - "- `building`: string (Optional)\n" - "- `room`: string (Optional)\n" - "- `country`: string (Optional)\n" - "- `region`: string (Optional)\n" - "- `uri`: string (Optional)\n" - "- `longitude`: @{float} (Optional)\n" - "- `error`: @{float} (Optional)\n" - "- `postal_code`: string (Optional)\n" - "- `bearing`: @{float} (Optional)\n" - "- `text`: string (Optional)\n" - "- `datum`: string (Optional)\n" - "- `street`: string (Optional)\n" - "- `speed`: @{float} (Optional)\n" - ); + return Documentation( + "UserLocation", + "This table has the following fields:\n\n" + "- `area`: string (Optional)\n" + "- `altitude`: @{float} (Optional)\n" + "- `locality`: string (Optional)\n" + "- `latitude`: @{float} (Optional)\n" + "- `accuracy`: @{float} (Optional)\n" + "- `description`: string (Optional)\n" + "- `country_code`: string (Optional)\n" + "- `timestamp`: datetime (string) (Optional)\n" + "- `floor`: string (Optional)\n" + "- `building`: string (Optional)\n" + "- `room`: string (Optional)\n" + "- `country`: string (Optional)\n" + "- `region`: string (Optional)\n" + "- `uri`: string (Optional)\n" + "- `longitude`: @{float} (Optional)\n" + "- `error`: @{float} (Optional)\n" + "- `postal_code`: string (Optional)\n" + "- `bearing`: @{float} (Optional)\n" + "- `text`: string (Optional)\n" + "- `datum`: string (Optional)\n" + "- `street`: string (Optional)\n" + "- `speed`: @{float} (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/UserLocationConvertor.h b/Sluift/ElementConvertors/UserLocationConvertor.h index 74c0856..d8f7e55 100644 --- a/Sluift/ElementConvertors/UserLocationConvertor.h +++ b/Sluift/ElementConvertors/UserLocationConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class UserLocationConvertor : public GenericLuaElementConvertor<UserLocation> { - public: - UserLocationConvertor(); - virtual ~UserLocationConvertor(); + class UserLocationConvertor : public GenericLuaElementConvertor<UserLocation> { + public: + UserLocationConvertor(); + virtual ~UserLocationConvertor(); - virtual boost::shared_ptr<UserLocation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<UserLocation>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<UserLocation> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<UserLocation>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/UserTuneConvertor.cpp b/Sluift/ElementConvertors/UserTuneConvertor.cpp index d721a34..09bf9bf 100644 --- a/Sluift/ElementConvertors/UserTuneConvertor.cpp +++ b/Sluift/ElementConvertors/UserTuneConvertor.cpp @@ -14,94 +14,94 @@ using namespace Swift; UserTuneConvertor::UserTuneConvertor() : - GenericLuaElementConvertor<UserTune>("user_tune") { + GenericLuaElementConvertor<UserTune>("user_tune") { } UserTuneConvertor::~UserTuneConvertor() { } boost::shared_ptr<UserTune> UserTuneConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<UserTune> result = boost::make_shared<UserTune>(); - lua_getfield(L, -1, "rating"); - if (lua_isnumber(L, -1)) { - result->setRating(boost::numeric_cast<unsigned int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "title"); - if (lua_isstring(L, -1)) { - result->setTitle(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "track"); - if (lua_isstring(L, -1)) { - result->setTrack(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "artist"); - if (lua_isstring(L, -1)) { - result->setArtist(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "uri"); - if (lua_isstring(L, -1)) { - result->setURI(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "source"); - if (lua_isstring(L, -1)) { - result->setSource(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "length"); - if (lua_isnumber(L, -1)) { - result->setLength(boost::numeric_cast<unsigned int>(lua_tonumber(L, -1))); - } - lua_pop(L, 1); - return result; + boost::shared_ptr<UserTune> result = boost::make_shared<UserTune>(); + lua_getfield(L, -1, "rating"); + if (lua_isnumber(L, -1)) { + result->setRating(boost::numeric_cast<unsigned int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "title"); + if (lua_isstring(L, -1)) { + result->setTitle(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "track"); + if (lua_isstring(L, -1)) { + result->setTrack(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "artist"); + if (lua_isstring(L, -1)) { + result->setArtist(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "uri"); + if (lua_isstring(L, -1)) { + result->setURI(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "source"); + if (lua_isstring(L, -1)) { + result->setSource(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "length"); + if (lua_isnumber(L, -1)) { + result->setLength(boost::numeric_cast<unsigned int>(lua_tonumber(L, -1))); + } + lua_pop(L, 1); + return result; } void UserTuneConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<UserTune> payload) { - lua_createtable(L, 0, 0); - if (payload->getRating()) { - lua_pushnumber(L, (*payload->getRating())); - lua_setfield(L, -2, "rating"); - } - if (payload->getTitle()) { - lua_pushstring(L, (*payload->getTitle()).c_str()); - lua_setfield(L, -2, "title"); - } - if (payload->getTrack()) { - lua_pushstring(L, (*payload->getTrack()).c_str()); - lua_setfield(L, -2, "track"); - } - if (payload->getArtist()) { - lua_pushstring(L, (*payload->getArtist()).c_str()); - lua_setfield(L, -2, "artist"); - } - if (payload->getURI()) { - lua_pushstring(L, (*payload->getURI()).c_str()); - lua_setfield(L, -2, "uri"); - } - if (payload->getSource()) { - lua_pushstring(L, (*payload->getSource()).c_str()); - lua_setfield(L, -2, "source"); - } - if (payload->getLength()) { - lua_pushnumber(L, (*payload->getLength())); - lua_setfield(L, -2, "length"); - } + lua_createtable(L, 0, 0); + if (payload->getRating()) { + lua_pushnumber(L, (*payload->getRating())); + lua_setfield(L, -2, "rating"); + } + if (payload->getTitle()) { + lua_pushstring(L, (*payload->getTitle()).c_str()); + lua_setfield(L, -2, "title"); + } + if (payload->getTrack()) { + lua_pushstring(L, (*payload->getTrack()).c_str()); + lua_setfield(L, -2, "track"); + } + if (payload->getArtist()) { + lua_pushstring(L, (*payload->getArtist()).c_str()); + lua_setfield(L, -2, "artist"); + } + if (payload->getURI()) { + lua_pushstring(L, (*payload->getURI()).c_str()); + lua_setfield(L, -2, "uri"); + } + if (payload->getSource()) { + lua_pushstring(L, (*payload->getSource()).c_str()); + lua_setfield(L, -2, "source"); + } + if (payload->getLength()) { + lua_pushnumber(L, (*payload->getLength())); + lua_setfield(L, -2, "length"); + } } boost::optional<LuaElementConvertor::Documentation> UserTuneConvertor::getDocumentation() const { - return Documentation( - "UserTune", - "This table has the following fields:\n\n" - "- `rating`: number (Optional)\n" - "- `title`: string (Optional)\n" - "- `track`: string (Optional)\n" - "- `artist`: string (Optional)\n" - "- `uri`: string (Optional)\n" - "- `source`: string (Optional)\n" - "- `length`: number (Optional)\n" - ); + return Documentation( + "UserTune", + "This table has the following fields:\n\n" + "- `rating`: number (Optional)\n" + "- `title`: string (Optional)\n" + "- `track`: string (Optional)\n" + "- `artist`: string (Optional)\n" + "- `uri`: string (Optional)\n" + "- `source`: string (Optional)\n" + "- `length`: number (Optional)\n" + ); } diff --git a/Sluift/ElementConvertors/UserTuneConvertor.h b/Sluift/ElementConvertors/UserTuneConvertor.h index 282b9fc..9fb03ed 100644 --- a/Sluift/ElementConvertors/UserTuneConvertor.h +++ b/Sluift/ElementConvertors/UserTuneConvertor.h @@ -12,15 +12,15 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class LuaElementConvertors; + class LuaElementConvertors; - class UserTuneConvertor : public GenericLuaElementConvertor<UserTune> { - public: - UserTuneConvertor(); - virtual ~UserTuneConvertor(); + class UserTuneConvertor : public GenericLuaElementConvertor<UserTune> { + public: + UserTuneConvertor(); + virtual ~UserTuneConvertor(); - virtual boost::shared_ptr<UserTune> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<UserTune>) SWIFTEN_OVERRIDE; - virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<UserTune> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<UserTune>) SWIFTEN_OVERRIDE; + virtual boost::optional<Documentation> getDocumentation() const SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/VCardConvertor.cpp b/Sluift/ElementConvertors/VCardConvertor.cpp index f704083..108d233 100644 --- a/Sluift/ElementConvertors/VCardConvertor.cpp +++ b/Sluift/ElementConvertors/VCardConvertor.cpp @@ -25,608 +25,608 @@ VCardConvertor::~VCardConvertor() { } boost::shared_ptr<VCard> VCardConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<VCard> result = boost::make_shared<VCard>(); - lua_getfield(L, -1, "fullname"); - if (lua_isstring(L, -1)) { - result->setFullName(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "familyname"); - if (lua_isstring(L, -1)) { - result->setFamilyName(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "givenname"); - if (lua_isstring(L, -1)) { - result->setGivenName(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "middlename"); - if (lua_isstring(L, -1)) { - result->setMiddleName(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "prefix"); - if (lua_isstring(L, -1)) { - result->setPrefix(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "suffix"); - if (lua_isstring(L, -1)) { - result->setSuffix(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "nick"); - if (lua_isstring(L, -1)) { - result->setNickname(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "description"); - if (lua_isstring(L, -1)) { - result->setDescription(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "photo"); - if (lua_isstring(L, -1)) { - size_t len; - const char* data = lua_tolstring(L, -1, &len); - result->setPhoto(createByteArray(data, len)); - } - lua_pop(L, 1); - lua_getfield(L, -1, "phototype"); - if (lua_isstring(L, -1)) { - result->setPhotoType(std::string(lua_tostring(L, -1))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "birthday"); - if (lua_isstring(L, -1)) { - result->setBirthday(stringToDateTime(std::string(lua_tostring(L, -1)))); - } - lua_pop(L, 1); - lua_getfield(L, -1, "email"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - VCard::EMailAddress emailAddress; - emailAddress.address = Lua::getStringField(L, -1, "address").get_value_or(""); - if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { - emailAddress.isHome = *home; - } - if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { - emailAddress.isWork = *work; - } - if (boost::optional<bool> internet = Lua::getBooleanField(L, -1, "internet")) { - emailAddress.isInternet = *internet; - } - if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { - emailAddress.isPreferred = *preferred; - } - if (boost::optional<bool> x400 = Lua::getBooleanField(L, -1, "x400")) { - emailAddress.isX400 = *x400; - } - result->addEMailAddress(emailAddress); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "telephone"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - VCard::Telephone telephone; - telephone.number = Lua::getStringField(L, -1, "number").get_value_or(""); - if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { - telephone.isHome = *home; - } - if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { - telephone.isWork = *work; - } - if (boost::optional<bool> voice = Lua::getBooleanField(L, -1, "voice")) { - telephone.isVoice = *voice; - } - if (boost::optional<bool> fax = Lua::getBooleanField(L, -1, "fax")) { - telephone.isFax = *fax; - } - if (boost::optional<bool> pager = Lua::getBooleanField(L, -1, "pager")) { - telephone.isPager = *pager; - } - if (boost::optional<bool> msg = Lua::getBooleanField(L, -1, "msg")) { - telephone.isMSG = *msg; - } - if (boost::optional<bool> cell = Lua::getBooleanField(L, -1, "cell")) { - telephone.isCell = *cell; - } - if (boost::optional<bool> video = Lua::getBooleanField(L, -1, "video")) { - telephone.isVideo = *video; - } - if (boost::optional<bool> bbs = Lua::getBooleanField(L, -1, "bbs")) { - telephone.isBBS = *bbs; - } - if (boost::optional<bool> modem = Lua::getBooleanField(L, -1, "modem")) { - telephone.isModem = *modem; - } - if (boost::optional<bool> isdn = Lua::getBooleanField(L, -1, "isdn")) { - telephone.isISDN = *isdn; - } - if (boost::optional<bool> pcs = Lua::getBooleanField(L, -1, "pcs")) { - telephone.isPCS = *pcs; - } - if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { - telephone.isPreferred = *preferred; - } - result->addTelephone(telephone); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "address"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - VCard::Address address; - address.poBox = Lua::getStringField(L, -1, "pobox").get_value_or(""); - address.addressExtension = Lua::getStringField(L, -1, "extension").get_value_or(""); - address.street = Lua::getStringField(L, -1, "street").get_value_or(""); - address.locality = Lua::getStringField(L, -1, "locality").get_value_or(""); - address.region = Lua::getStringField(L, -1, "region").get_value_or(""); - address.postalCode = Lua::getStringField(L, -1, "postalcode").get_value_or(""); - address.country = Lua::getStringField(L, -1, "country").get_value_or(""); - if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { - address.isHome = *home; - } - if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { - address.isWork = *work; - } - if (boost::optional<bool> postal = Lua::getBooleanField(L, -1, "postal")) { - address.isPostal = *postal; - } - if (boost::optional<bool> parcel = Lua::getBooleanField(L, -1, "parcel")) { - address.isParcel = *parcel; - } - if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { - address.isPreferred = *preferred; - } - if (boost::optional<bool> domestic = Lua::getBooleanField(L, -1, "domestic")) { - if (*domestic) { - address.deliveryType = VCard::DomesticDelivery; - } - } - if (boost::optional<bool> international = Lua::getBooleanField(L, -1, "international")) { - if (*international) { - address.deliveryType = VCard::InternationalDelivery; - } - } - result->addAddress(address); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "addresslabel"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - VCard::AddressLabel addresslabel; - lua_getfield(L, -1, "lines"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - addresslabel.lines.push_back(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { - addresslabel.isHome = *home; - } - if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { - addresslabel.isWork = *work; - } - if (boost::optional<bool> postal = Lua::getBooleanField(L, -1, "postal")) { - addresslabel.isPostal = *postal; - } - if (boost::optional<bool> parcel = Lua::getBooleanField(L, -1, "parcel")) { - addresslabel.isParcel = *parcel; - } - if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { - addresslabel.isPreferred = *preferred; - } - if (boost::optional<bool> domestic = Lua::getBooleanField(L, -1, "domestic")) { - if (*domestic) { - addresslabel.deliveryType = VCard::DomesticDelivery; - } - } - if (boost::optional<bool> international = Lua::getBooleanField(L, -1, "international")) { - if (*international) { - addresslabel.deliveryType = VCard::InternationalDelivery; - } - } - result->addAddressLabel(addresslabel); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "organization"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - VCard::Organization organization; - organization.name = Lua::getStringField(L, -1, "name").get_value_or(""); - lua_getfield(L, -1, "units"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - organization.units.push_back(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - result->addOrganization(organization); - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "jid"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - result->addJID(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "title"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - result->addTitle(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - lua_getfield(L, -1, "role"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - result->addRole(lua_tostring(L, -1)); - } - lua_pop(L, 1); } - } - lua_pop(L, 1); - lua_getfield(L, -1, "url"); - if (lua_istable(L, -1)) { - for (lua_pushnil(L); lua_next(L, -2); ) { - if (lua_isstring(L, -1)) { - result->addURL(lua_tostring(L, -1)); - } - lua_pop(L, 1); - } - } - lua_pop(L, 1); - return result; + boost::shared_ptr<VCard> result = boost::make_shared<VCard>(); + lua_getfield(L, -1, "fullname"); + if (lua_isstring(L, -1)) { + result->setFullName(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "familyname"); + if (lua_isstring(L, -1)) { + result->setFamilyName(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "givenname"); + if (lua_isstring(L, -1)) { + result->setGivenName(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "middlename"); + if (lua_isstring(L, -1)) { + result->setMiddleName(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "prefix"); + if (lua_isstring(L, -1)) { + result->setPrefix(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "suffix"); + if (lua_isstring(L, -1)) { + result->setSuffix(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "nick"); + if (lua_isstring(L, -1)) { + result->setNickname(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "description"); + if (lua_isstring(L, -1)) { + result->setDescription(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "photo"); + if (lua_isstring(L, -1)) { + size_t len; + const char* data = lua_tolstring(L, -1, &len); + result->setPhoto(createByteArray(data, len)); + } + lua_pop(L, 1); + lua_getfield(L, -1, "phototype"); + if (lua_isstring(L, -1)) { + result->setPhotoType(std::string(lua_tostring(L, -1))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "birthday"); + if (lua_isstring(L, -1)) { + result->setBirthday(stringToDateTime(std::string(lua_tostring(L, -1)))); + } + lua_pop(L, 1); + lua_getfield(L, -1, "email"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + VCard::EMailAddress emailAddress; + emailAddress.address = Lua::getStringField(L, -1, "address").get_value_or(""); + if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { + emailAddress.isHome = *home; + } + if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { + emailAddress.isWork = *work; + } + if (boost::optional<bool> internet = Lua::getBooleanField(L, -1, "internet")) { + emailAddress.isInternet = *internet; + } + if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { + emailAddress.isPreferred = *preferred; + } + if (boost::optional<bool> x400 = Lua::getBooleanField(L, -1, "x400")) { + emailAddress.isX400 = *x400; + } + result->addEMailAddress(emailAddress); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "telephone"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + VCard::Telephone telephone; + telephone.number = Lua::getStringField(L, -1, "number").get_value_or(""); + if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { + telephone.isHome = *home; + } + if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { + telephone.isWork = *work; + } + if (boost::optional<bool> voice = Lua::getBooleanField(L, -1, "voice")) { + telephone.isVoice = *voice; + } + if (boost::optional<bool> fax = Lua::getBooleanField(L, -1, "fax")) { + telephone.isFax = *fax; + } + if (boost::optional<bool> pager = Lua::getBooleanField(L, -1, "pager")) { + telephone.isPager = *pager; + } + if (boost::optional<bool> msg = Lua::getBooleanField(L, -1, "msg")) { + telephone.isMSG = *msg; + } + if (boost::optional<bool> cell = Lua::getBooleanField(L, -1, "cell")) { + telephone.isCell = *cell; + } + if (boost::optional<bool> video = Lua::getBooleanField(L, -1, "video")) { + telephone.isVideo = *video; + } + if (boost::optional<bool> bbs = Lua::getBooleanField(L, -1, "bbs")) { + telephone.isBBS = *bbs; + } + if (boost::optional<bool> modem = Lua::getBooleanField(L, -1, "modem")) { + telephone.isModem = *modem; + } + if (boost::optional<bool> isdn = Lua::getBooleanField(L, -1, "isdn")) { + telephone.isISDN = *isdn; + } + if (boost::optional<bool> pcs = Lua::getBooleanField(L, -1, "pcs")) { + telephone.isPCS = *pcs; + } + if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { + telephone.isPreferred = *preferred; + } + result->addTelephone(telephone); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "address"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + VCard::Address address; + address.poBox = Lua::getStringField(L, -1, "pobox").get_value_or(""); + address.addressExtension = Lua::getStringField(L, -1, "extension").get_value_or(""); + address.street = Lua::getStringField(L, -1, "street").get_value_or(""); + address.locality = Lua::getStringField(L, -1, "locality").get_value_or(""); + address.region = Lua::getStringField(L, -1, "region").get_value_or(""); + address.postalCode = Lua::getStringField(L, -1, "postalcode").get_value_or(""); + address.country = Lua::getStringField(L, -1, "country").get_value_or(""); + if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { + address.isHome = *home; + } + if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { + address.isWork = *work; + } + if (boost::optional<bool> postal = Lua::getBooleanField(L, -1, "postal")) { + address.isPostal = *postal; + } + if (boost::optional<bool> parcel = Lua::getBooleanField(L, -1, "parcel")) { + address.isParcel = *parcel; + } + if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { + address.isPreferred = *preferred; + } + if (boost::optional<bool> domestic = Lua::getBooleanField(L, -1, "domestic")) { + if (*domestic) { + address.deliveryType = VCard::DomesticDelivery; + } + } + if (boost::optional<bool> international = Lua::getBooleanField(L, -1, "international")) { + if (*international) { + address.deliveryType = VCard::InternationalDelivery; + } + } + result->addAddress(address); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "addresslabel"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + VCard::AddressLabel addresslabel; + lua_getfield(L, -1, "lines"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + addresslabel.lines.push_back(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + if (boost::optional<bool> home = Lua::getBooleanField(L, -1, "home")) { + addresslabel.isHome = *home; + } + if (boost::optional<bool> work = Lua::getBooleanField(L, -1, "work")) { + addresslabel.isWork = *work; + } + if (boost::optional<bool> postal = Lua::getBooleanField(L, -1, "postal")) { + addresslabel.isPostal = *postal; + } + if (boost::optional<bool> parcel = Lua::getBooleanField(L, -1, "parcel")) { + addresslabel.isParcel = *parcel; + } + if (boost::optional<bool> preferred = Lua::getBooleanField(L, -1, "preferred")) { + addresslabel.isPreferred = *preferred; + } + if (boost::optional<bool> domestic = Lua::getBooleanField(L, -1, "domestic")) { + if (*domestic) { + addresslabel.deliveryType = VCard::DomesticDelivery; + } + } + if (boost::optional<bool> international = Lua::getBooleanField(L, -1, "international")) { + if (*international) { + addresslabel.deliveryType = VCard::InternationalDelivery; + } + } + result->addAddressLabel(addresslabel); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "organization"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + VCard::Organization organization; + organization.name = Lua::getStringField(L, -1, "name").get_value_or(""); + lua_getfield(L, -1, "units"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + organization.units.push_back(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + result->addOrganization(organization); + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "jid"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + result->addJID(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "title"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + result->addTitle(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + lua_getfield(L, -1, "role"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + result->addRole(lua_tostring(L, -1)); + } + lua_pop(L, 1); } + } + lua_pop(L, 1); + lua_getfield(L, -1, "url"); + if (lua_istable(L, -1)) { + for (lua_pushnil(L); lua_next(L, -2); ) { + if (lua_isstring(L, -1)) { + result->addURL(lua_tostring(L, -1)); + } + lua_pop(L, 1); + } + } + lua_pop(L, 1); + return result; } void VCardConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<VCard> payload) { - lua_newtable(L); - if (!payload->getFullName().empty()) { - lua_pushstring(L, payload->getFullName().c_str()); - lua_setfield(L, -2, "fullname"); - } - if (!payload->getFamilyName().empty()) { - lua_pushstring(L, payload->getFamilyName().c_str()); - lua_setfield(L, -2, "familyname"); - } - if (!payload->getGivenName().empty()) { - lua_pushstring(L, payload->getGivenName().c_str()); - lua_setfield(L, -2, "givenname"); - } - if (!payload->getMiddleName().empty()) { - lua_pushstring(L, payload->getMiddleName().c_str()); - lua_setfield(L, -2, "middlename"); - } - if (!payload->getPrefix().empty()) { - lua_pushstring(L, payload->getPrefix().c_str()); - lua_setfield(L, -2, "prefix"); - } - if (!payload->getSuffix().empty()) { - lua_pushstring(L, payload->getSuffix().c_str()); - lua_setfield(L, -2, "suffix"); - } - if (!payload->getNickname().empty()) { - lua_pushstring(L, payload->getNickname().c_str()); - lua_setfield(L, -2, "nick"); - } - if (!payload->getDescription().empty()) { - lua_pushstring(L, payload->getDescription().c_str()); - lua_setfield(L, -2, "description"); - } - if (!payload->getPhoto().empty()) { - lua_pushlstring(L, reinterpret_cast<const char*>(vecptr(payload->getPhoto())), payload->getPhoto().size()); - lua_setfield(L, -2, "photo"); - } - if (!payload->getPhotoType().empty()) { - lua_pushstring(L, payload->getPhotoType().c_str()); - lua_setfield(L, -2, "phototype"); - } - if (!payload->getBirthday().is_not_a_date_time()) { - lua_pushstring(L, dateTimeToString(payload->getBirthday()).c_str()); - lua_setfield(L, -2, "birthday"); - } - const std::vector<VCard::EMailAddress>& emails = payload->getEMailAddresses(); - if (!emails.empty()) { - lua_createtable(L, boost::numeric_cast<int>(emails.size()), 0); - for (size_t i = 0; i < emails.size(); ++i) { - lua_createtable(L, 0, 0); - if (!emails[i].address.empty()) { - lua_pushstring(L, emails[i].address.c_str()); - lua_setfield(L, -2, "address"); - } - if (emails[i].isHome) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "home"); - } - if (emails[i].isWork) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "work"); - } - if (emails[i].isInternet) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "internet"); - } - if (emails[i].isPreferred) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "preferred"); - } - if (emails[i].isX400) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "x400"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "email"); - } - const std::vector<VCard::Telephone>& telephones = payload->getTelephones(); - if (!telephones.empty()) { - lua_createtable(L, boost::numeric_cast<int>(telephones.size()), 0); - for (size_t i = 0; i < telephones.size(); ++i) { - lua_createtable(L, 0, 0); - if (!telephones[i].number.empty()) { - lua_pushstring(L, telephones[i].number.c_str()); - lua_setfield(L, -2, "number"); - } - if (telephones[i].isHome) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "home"); - } - if (telephones[i].isWork) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "work"); - } - if (telephones[i].isVoice) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "voice"); - } - if (telephones[i].isFax) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "fax"); - } - if (telephones[i].isPager) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "pager"); - } - if (telephones[i].isMSG) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "msg"); - } - if (telephones[i].isCell) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "cell"); - } - if (telephones[i].isVideo) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "video"); - } - if (telephones[i].isBBS) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "bbs"); - } - if (telephones[i].isModem) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "modem"); - } - if (telephones[i].isISDN) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "isdn"); - } - if (telephones[i].isPCS) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "pcs"); - } - if (telephones[i].isPreferred) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "preferred"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "telephone"); - } - const std::vector<VCard::Address>& addresses = payload->getAddresses(); - if (!addresses.empty()) { - lua_createtable(L, boost::numeric_cast<int>(addresses.size()), 0); - for (size_t i = 0; i < addresses.size(); ++i) { - lua_createtable(L, 0, 0); - if (!addresses[i].poBox.empty()) { - lua_pushstring(L, addresses[i].poBox.c_str()); - lua_setfield(L, -2, "pobox"); - } - if (!addresses[i].addressExtension.empty()) { - lua_pushstring(L, addresses[i].addressExtension.c_str()); - lua_setfield(L, -2, "extension"); - } - if (!addresses[i].street.empty()) { - lua_pushstring(L, addresses[i].street.c_str()); - lua_setfield(L, -2, "street"); - } - if (!addresses[i].locality.empty()) { - lua_pushstring(L, addresses[i].locality.c_str()); - lua_setfield(L, -2, "locality"); - } - if (!addresses[i].region.empty()) { - lua_pushstring(L, addresses[i].region.c_str()); - lua_setfield(L, -2, "region"); - } - if (!addresses[i].postalCode.empty()) { - lua_pushstring(L, addresses[i].postalCode.c_str()); - lua_setfield(L, -2, "postalcode"); - } - if (!addresses[i].country.empty()) { - lua_pushstring(L, addresses[i].country.c_str()); - lua_setfield(L, -2, "country"); - } - if (addresses[i].isHome) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "home"); - } - if (addresses[i].isWork) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "work"); - } - if (addresses[i].isPostal) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "postal"); - } - if (addresses[i].isParcel) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "parcel"); - } - if (addresses[i].isPreferred) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "preferred"); - } - if (addresses[i].deliveryType == VCard::DomesticDelivery) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "domestic"); - } - if (addresses[i].deliveryType == VCard::InternationalDelivery) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "international"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "address"); - } - const std::vector<VCard::AddressLabel>& addresslabels = payload->getAddressLabels(); - if (!addresslabels.empty()) { - lua_createtable(L, boost::numeric_cast<int>(addresslabels.size()), 0); - for (size_t i = 0; i < addresslabels.size(); ++i) { - lua_createtable(L, 0, 0); - const std::vector<std::string>& lines = addresslabels[i].lines; - if (!lines.empty()) { - lua_createtable(L, boost::numeric_cast<int>(addresslabels[i].lines.size()), 0); - for (size_t j = 0; j < lines.size(); ++j) { - if (!lines[j].empty()) { - lua_pushstring(L, lines[j].c_str()); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(j+1)); - } - lua_setfield(L, -2, "lines"); - } - if (addresslabels[i].isHome) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "home"); - } - if (addresslabels[i].isWork) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "work"); - } - if (addresslabels[i].isPostal) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "postal"); - } - if (addresslabels[i].isParcel) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "parcel"); - } - if (addresslabels[i].isPreferred) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "preferred"); - } - if (addresslabels[i].deliveryType == VCard::DomesticDelivery) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "domestic"); - } - if (addresslabels[i].deliveryType == VCard::InternationalDelivery) { - lua_pushboolean(L, true); - lua_setfield(L, -2, "international"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "addresslabel"); - } - const std::vector<VCard::Organization>& organizations = payload->getOrganizations(); - if (!organizations.empty()) { - lua_createtable(L, boost::numeric_cast<int>(organizations.size()), 0); - for (size_t i = 0; i < organizations.size(); ++i) { - lua_createtable(L, 0, 0); - if (!organizations[i].name.empty()) { - lua_pushstring(L, organizations[i].name.c_str()); - lua_setfield(L, -2, "name"); - } - const std::vector<std::string>& units = organizations[i].units; - if (!units.empty()) { - lua_createtable(L, boost::numeric_cast<int>(organizations[i].units.size()), 0); - for (size_t j = 0; j < units.size(); ++j) { - if (!units[j].empty()) { - lua_pushstring(L, units[j].c_str()); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(j+1)); - } - lua_setfield(L, -2, "units"); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "organization"); - } - const std::vector<JID>& jids = payload->getJIDs(); - if (!jids.empty()) { - lua_createtable(L, boost::numeric_cast<int>(jids.size()), 0); - for (size_t i = 0; i < jids.size(); ++i) { - if (!jids[i].toString().empty()) { - lua_pushstring(L, jids[i].toString().c_str()); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "jid"); - } - const std::vector<std::string>& titles = payload->getTitles(); - if (!titles.empty()) { - lua_createtable(L, boost::numeric_cast<int>(titles.size()), 0); - for (size_t i = 0; i < titles.size(); ++i) { - if (!titles[i].empty()) { - lua_pushstring(L, titles[i].c_str()); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "title"); - } - const std::vector<std::string>& roles = payload->getRoles(); - if (!roles.empty()) { - lua_createtable(L, boost::numeric_cast<int>(roles.size()), 0); - for (size_t i = 0; i < roles.size(); ++i) { - if (!roles[i].empty()) { - lua_pushstring(L, roles[i].c_str()); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "role"); - } - const std::vector<std::string>& urls = payload->getURLs(); - if (!urls.empty()) { - lua_createtable(L, boost::numeric_cast<int>(urls.size()), 0); - for (size_t i = 0; i < urls.size(); ++i) { - if (!urls[i].empty()) { - lua_pushstring(L, urls[i].c_str()); - } - lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); - } - lua_setfield(L, -2, "url"); - } + lua_newtable(L); + if (!payload->getFullName().empty()) { + lua_pushstring(L, payload->getFullName().c_str()); + lua_setfield(L, -2, "fullname"); + } + if (!payload->getFamilyName().empty()) { + lua_pushstring(L, payload->getFamilyName().c_str()); + lua_setfield(L, -2, "familyname"); + } + if (!payload->getGivenName().empty()) { + lua_pushstring(L, payload->getGivenName().c_str()); + lua_setfield(L, -2, "givenname"); + } + if (!payload->getMiddleName().empty()) { + lua_pushstring(L, payload->getMiddleName().c_str()); + lua_setfield(L, -2, "middlename"); + } + if (!payload->getPrefix().empty()) { + lua_pushstring(L, payload->getPrefix().c_str()); + lua_setfield(L, -2, "prefix"); + } + if (!payload->getSuffix().empty()) { + lua_pushstring(L, payload->getSuffix().c_str()); + lua_setfield(L, -2, "suffix"); + } + if (!payload->getNickname().empty()) { + lua_pushstring(L, payload->getNickname().c_str()); + lua_setfield(L, -2, "nick"); + } + if (!payload->getDescription().empty()) { + lua_pushstring(L, payload->getDescription().c_str()); + lua_setfield(L, -2, "description"); + } + if (!payload->getPhoto().empty()) { + lua_pushlstring(L, reinterpret_cast<const char*>(vecptr(payload->getPhoto())), payload->getPhoto().size()); + lua_setfield(L, -2, "photo"); + } + if (!payload->getPhotoType().empty()) { + lua_pushstring(L, payload->getPhotoType().c_str()); + lua_setfield(L, -2, "phototype"); + } + if (!payload->getBirthday().is_not_a_date_time()) { + lua_pushstring(L, dateTimeToString(payload->getBirthday()).c_str()); + lua_setfield(L, -2, "birthday"); + } + const std::vector<VCard::EMailAddress>& emails = payload->getEMailAddresses(); + if (!emails.empty()) { + lua_createtable(L, boost::numeric_cast<int>(emails.size()), 0); + for (size_t i = 0; i < emails.size(); ++i) { + lua_createtable(L, 0, 0); + if (!emails[i].address.empty()) { + lua_pushstring(L, emails[i].address.c_str()); + lua_setfield(L, -2, "address"); + } + if (emails[i].isHome) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "home"); + } + if (emails[i].isWork) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "work"); + } + if (emails[i].isInternet) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "internet"); + } + if (emails[i].isPreferred) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "preferred"); + } + if (emails[i].isX400) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "x400"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "email"); + } + const std::vector<VCard::Telephone>& telephones = payload->getTelephones(); + if (!telephones.empty()) { + lua_createtable(L, boost::numeric_cast<int>(telephones.size()), 0); + for (size_t i = 0; i < telephones.size(); ++i) { + lua_createtable(L, 0, 0); + if (!telephones[i].number.empty()) { + lua_pushstring(L, telephones[i].number.c_str()); + lua_setfield(L, -2, "number"); + } + if (telephones[i].isHome) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "home"); + } + if (telephones[i].isWork) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "work"); + } + if (telephones[i].isVoice) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "voice"); + } + if (telephones[i].isFax) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "fax"); + } + if (telephones[i].isPager) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "pager"); + } + if (telephones[i].isMSG) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "msg"); + } + if (telephones[i].isCell) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "cell"); + } + if (telephones[i].isVideo) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "video"); + } + if (telephones[i].isBBS) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "bbs"); + } + if (telephones[i].isModem) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "modem"); + } + if (telephones[i].isISDN) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "isdn"); + } + if (telephones[i].isPCS) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "pcs"); + } + if (telephones[i].isPreferred) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "preferred"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "telephone"); + } + const std::vector<VCard::Address>& addresses = payload->getAddresses(); + if (!addresses.empty()) { + lua_createtable(L, boost::numeric_cast<int>(addresses.size()), 0); + for (size_t i = 0; i < addresses.size(); ++i) { + lua_createtable(L, 0, 0); + if (!addresses[i].poBox.empty()) { + lua_pushstring(L, addresses[i].poBox.c_str()); + lua_setfield(L, -2, "pobox"); + } + if (!addresses[i].addressExtension.empty()) { + lua_pushstring(L, addresses[i].addressExtension.c_str()); + lua_setfield(L, -2, "extension"); + } + if (!addresses[i].street.empty()) { + lua_pushstring(L, addresses[i].street.c_str()); + lua_setfield(L, -2, "street"); + } + if (!addresses[i].locality.empty()) { + lua_pushstring(L, addresses[i].locality.c_str()); + lua_setfield(L, -2, "locality"); + } + if (!addresses[i].region.empty()) { + lua_pushstring(L, addresses[i].region.c_str()); + lua_setfield(L, -2, "region"); + } + if (!addresses[i].postalCode.empty()) { + lua_pushstring(L, addresses[i].postalCode.c_str()); + lua_setfield(L, -2, "postalcode"); + } + if (!addresses[i].country.empty()) { + lua_pushstring(L, addresses[i].country.c_str()); + lua_setfield(L, -2, "country"); + } + if (addresses[i].isHome) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "home"); + } + if (addresses[i].isWork) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "work"); + } + if (addresses[i].isPostal) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "postal"); + } + if (addresses[i].isParcel) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "parcel"); + } + if (addresses[i].isPreferred) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "preferred"); + } + if (addresses[i].deliveryType == VCard::DomesticDelivery) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "domestic"); + } + if (addresses[i].deliveryType == VCard::InternationalDelivery) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "international"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "address"); + } + const std::vector<VCard::AddressLabel>& addresslabels = payload->getAddressLabels(); + if (!addresslabels.empty()) { + lua_createtable(L, boost::numeric_cast<int>(addresslabels.size()), 0); + for (size_t i = 0; i < addresslabels.size(); ++i) { + lua_createtable(L, 0, 0); + const std::vector<std::string>& lines = addresslabels[i].lines; + if (!lines.empty()) { + lua_createtable(L, boost::numeric_cast<int>(addresslabels[i].lines.size()), 0); + for (size_t j = 0; j < lines.size(); ++j) { + if (!lines[j].empty()) { + lua_pushstring(L, lines[j].c_str()); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(j+1)); + } + lua_setfield(L, -2, "lines"); + } + if (addresslabels[i].isHome) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "home"); + } + if (addresslabels[i].isWork) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "work"); + } + if (addresslabels[i].isPostal) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "postal"); + } + if (addresslabels[i].isParcel) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "parcel"); + } + if (addresslabels[i].isPreferred) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "preferred"); + } + if (addresslabels[i].deliveryType == VCard::DomesticDelivery) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "domestic"); + } + if (addresslabels[i].deliveryType == VCard::InternationalDelivery) { + lua_pushboolean(L, true); + lua_setfield(L, -2, "international"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "addresslabel"); + } + const std::vector<VCard::Organization>& organizations = payload->getOrganizations(); + if (!organizations.empty()) { + lua_createtable(L, boost::numeric_cast<int>(organizations.size()), 0); + for (size_t i = 0; i < organizations.size(); ++i) { + lua_createtable(L, 0, 0); + if (!organizations[i].name.empty()) { + lua_pushstring(L, organizations[i].name.c_str()); + lua_setfield(L, -2, "name"); + } + const std::vector<std::string>& units = organizations[i].units; + if (!units.empty()) { + lua_createtable(L, boost::numeric_cast<int>(organizations[i].units.size()), 0); + for (size_t j = 0; j < units.size(); ++j) { + if (!units[j].empty()) { + lua_pushstring(L, units[j].c_str()); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(j+1)); + } + lua_setfield(L, -2, "units"); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "organization"); + } + const std::vector<JID>& jids = payload->getJIDs(); + if (!jids.empty()) { + lua_createtable(L, boost::numeric_cast<int>(jids.size()), 0); + for (size_t i = 0; i < jids.size(); ++i) { + if (!jids[i].toString().empty()) { + lua_pushstring(L, jids[i].toString().c_str()); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "jid"); + } + const std::vector<std::string>& titles = payload->getTitles(); + if (!titles.empty()) { + lua_createtable(L, boost::numeric_cast<int>(titles.size()), 0); + for (size_t i = 0; i < titles.size(); ++i) { + if (!titles[i].empty()) { + lua_pushstring(L, titles[i].c_str()); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "title"); + } + const std::vector<std::string>& roles = payload->getRoles(); + if (!roles.empty()) { + lua_createtable(L, boost::numeric_cast<int>(roles.size()), 0); + for (size_t i = 0; i < roles.size(); ++i) { + if (!roles[i].empty()) { + lua_pushstring(L, roles[i].c_str()); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "role"); + } + const std::vector<std::string>& urls = payload->getURLs(); + if (!urls.empty()) { + lua_createtable(L, boost::numeric_cast<int>(urls.size()), 0); + for (size_t i = 0; i < urls.size(); ++i) { + if (!urls[i].empty()) { + lua_pushstring(L, urls[i].c_str()); + } + lua_rawseti(L, -2, boost::numeric_cast<int>(i+1)); + } + lua_setfield(L, -2, "url"); + } } diff --git a/Sluift/ElementConvertors/VCardConvertor.h b/Sluift/ElementConvertors/VCardConvertor.h index 39e9dda..95da590 100644 --- a/Sluift/ElementConvertors/VCardConvertor.h +++ b/Sluift/ElementConvertors/VCardConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class VCardConvertor : public GenericLuaElementConvertor<VCard> { - public: - VCardConvertor(); - virtual ~VCardConvertor(); + class VCardConvertor : public GenericLuaElementConvertor<VCard> { + public: + VCardConvertor(); + virtual ~VCardConvertor(); - virtual boost::shared_ptr<VCard> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<VCard>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<VCard> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<VCard>) SWIFTEN_OVERRIDE; + }; } diff --git a/Sluift/ElementConvertors/VCardUpdateConvertor.cpp b/Sluift/ElementConvertors/VCardUpdateConvertor.cpp index b13443d..f3da05a 100644 --- a/Sluift/ElementConvertors/VCardUpdateConvertor.cpp +++ b/Sluift/ElementConvertors/VCardUpdateConvertor.cpp @@ -22,17 +22,17 @@ VCardUpdateConvertor::~VCardUpdateConvertor() { } boost::shared_ptr<VCardUpdate> VCardUpdateConvertor::doConvertFromLua(lua_State* L) { - boost::shared_ptr<VCardUpdate> result = boost::make_shared<VCardUpdate>(); - if (boost::optional<std::string> value = Lua::getStringField(L, -1, "photo_hash")) { - result->setPhotoHash(*value); - } - return result; + boost::shared_ptr<VCardUpdate> result = boost::make_shared<VCardUpdate>(); + if (boost::optional<std::string> value = Lua::getStringField(L, -1, "photo_hash")) { + result->setPhotoHash(*value); + } + return result; } void VCardUpdateConvertor::doConvertToLua(lua_State* L, boost::shared_ptr<VCardUpdate> payload) { - lua_newtable(L); - if (!payload->getPhotoHash().empty()) { - lua_pushstring(L, payload->getPhotoHash().c_str()); - lua_setfield(L, -2, "photo_hash"); - } + lua_newtable(L); + if (!payload->getPhotoHash().empty()) { + lua_pushstring(L, payload->getPhotoHash().c_str()); + lua_setfield(L, -2, "photo_hash"); + } } diff --git a/Sluift/ElementConvertors/VCardUpdateConvertor.h b/Sluift/ElementConvertors/VCardUpdateConvertor.h index 48c1be8..b4a3882 100644 --- a/Sluift/ElementConvertors/VCardUpdateConvertor.h +++ b/Sluift/ElementConvertors/VCardUpdateConvertor.h @@ -12,12 +12,12 @@ #include <Sluift/GenericLuaElementConvertor.h> namespace Swift { - class VCardUpdateConvertor : public GenericLuaElementConvertor<VCardUpdate> { - public: - VCardUpdateConvertor(); - virtual ~VCardUpdateConvertor(); + class VCardUpdateConvertor : public GenericLuaElementConvertor<VCardUpdate> { + public: + VCardUpdateConvertor(); + virtual ~VCardUpdateConvertor(); - virtual boost::shared_ptr<VCardUpdate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; - virtual void doConvertToLua(lua_State*, boost::shared_ptr<VCardUpdate>) SWIFTEN_OVERRIDE; - }; + virtual boost::shared_ptr<VCardUpdate> doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; + virtual void doConvertToLua(lua_State*, boost::shared_ptr<VCardUpdate>) SWIFTEN_OVERRIDE; + }; } |