From d20b9b5a9671d241da18d67422adce3efe920f5e Mon Sep 17 00:00:00 2001 From: d-led Date: Tue, 2 Oct 2012 06:49:35 +0200 Subject: [PATCH] missing valid methods, README --- Lua/lib/LICENSE.txt | 21 ++++++++++ Lua/lib/pugilua.dll | Bin 40448 -> 47104 bytes Lua/lib/pugilua.lib | Bin 1734 -> 1734 bytes Lua/lib/test.lua | 1 + README.md | 65 +++++++++++++++++++++++++++++++ contrib/pugilua/pugilua_lib.cpp | 44 +++++++++++++-------- readme.txt => pugixml_readme.txt | 0 7 files changed, 114 insertions(+), 17 deletions(-) create mode 100644 Lua/lib/LICENSE.txt create mode 100644 README.md rename readme.txt => pugixml_readme.txt (100%) diff --git a/Lua/lib/LICENSE.txt b/Lua/lib/LICENSE.txt new file mode 100644 index 0000000..3c6d06f --- /dev/null +++ b/Lua/lib/LICENSE.txt @@ -0,0 +1,21 @@ +Copyright (C) 1994-2008 Lua.org, PUC-Rio. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Lua/lib/pugilua.dll b/Lua/lib/pugilua.dll index f5eb95cdc8bacfe0108d0d141c63b442cdfe7f05..9825aea65f52e331c7a18039928e7d7325bc4ccd 100644 GIT binary patch literal 47104 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 aTT${4zaKd80|$QKzz-bwfdl^u2mU{W+gn@! delta 18356 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 R0m&T#3>o&36F+yv{x4%@G+h7y diff --git a/Lua/lib/pugilua.lib b/Lua/lib/pugilua.lib index 74bdc28dd502e63dc313757c89affa980e44b411..f75705c1c9ceaa93804b431ca0fdbb07020ff6aa 100644 GIT binary patch delta 136 zcmX@cdyIF2EUT%pk-6dI1B_x5E!HDAlbINI!g*@U-wU%gzhwNw2o+Lb6_+qIP=J60 wE+0lF2B3<7oeT^NOq1U;N>4Unc@9?!(e25q0@HnfQDSlzn-Iv*$@AIN0cmn3!T4Unc@9?!(e25q0@HnfQDSlzn-Iv*$@AIN0Tmx53IG5A diff --git a/Lua/lib/test.lua b/Lua/lib/test.lua index 6b44c84..699b064 100644 --- a/Lua/lib/test.lua +++ b/Lua/lib/test.lua @@ -4,6 +4,7 @@ local doc=pugi.xml_document() os.execute("cd") local res=doc:load_file [[..\..\scripts\pugilua\pugilua.vcxproj]] print(res.description) +assert(res.valid) local node=doc:child('Project') assert(node.valid) diff --git a/README.md b/README.md new file mode 100644 index 0000000..f1277c0 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +pugilua +======= + +An almost one-to-one lua binding for [pugixm](http://pugixml.org/) + +Usage +----- + +Use the visual studio project to compile in Visual Studio. The release build will be copied into the Lua/lib folder, where you can start +lua directly and use the library by calling `require 'pugilua'`. Follow the test for API differences from the original C++ API. Pugilua objects reside in the +pugi 'namespace' in Lua. + +A usage sketch: +```` +require 'pugilua' + +local doc=pugi.xml_document() +local res=doc:load_file [[..\..\scripts\pugilua\pugilua.vcxproj]] +assert(res.valid) +print(res.description) + +local node=doc:child('Project') +assert(node.valid) +```` + +### API differences + + * There's no explicit cast to boolean of the pugilua objects, hence the classes `xml_parse_result, xml_node and xml_document` have a boolean `property` valid + * lua classes have no inheritance + * Getter methods are mapped to lua properties and not methods + +Dependencies +------------ + + * [pugixml](https://github.com/zeux/pugixml) the original library + * [lua](http://www.lua.org/) the language, Lua 5.1.4 from [luaforwindows](http://code.google.com/p/luaforwindows/), but it should work for every proper lua which is supported by LuaBridge + * [LuaBridge](https://github.com/vinniefalco/LuaBridge) for the declarative bindings to Lua + +License +------- + +This library is distributed under the MIT License: + +Copyright (c) 2012 Dmitry Ledentsov + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/contrib/pugilua/pugilua_lib.cpp b/contrib/pugilua/pugilua_lib.cpp index 7e098e7..77f7454 100644 --- a/contrib/pugilua/pugilua_lib.cpp +++ b/contrib/pugilua/pugilua_lib.cpp @@ -12,12 +12,16 @@ namespace pugi { public: lxml_parse_result(pugi::xml_parse_result& r):res(r) { } lxml_parse_result() { } - + public: std::string description() const { return res.description(); } + bool valid() const { + return (bool)res; + } + private: pugi::xml_parse_result res; }; @@ -26,7 +30,7 @@ namespace pugi { public: lxml_node(pugi::xml_node& n):node(n){} lxml_node() { } - + public: bool valid() const { return (bool)node; @@ -55,6 +59,10 @@ namespace pugi { return RefCountedPtr(new lxml_node(doc.child(name))); } + bool valid() const { + return (bool)doc; + } + private: pugi::xml_document doc; }; @@ -67,23 +75,25 @@ void register_pugilua (lua_State* L) { luabridge::getGlobalNamespace(L) .beginNamespace("pugi") - .beginClass("xml_parse_result") - .addConstructor() - .addProperty("description",&lxml_parse_result::description) - .endClass() + .beginClass("xml_parse_result") + .addConstructor() + .addProperty("description",&lxml_parse_result::description) + .addProperty("valid",&lxml_parse_result::valid) + .endClass() - .beginClass("xml_node") - .addConstructor() - .addProperty("valid",&lxml_node::valid) - .addProperty("name",&lxml_node::name) - .addFunction("child",&lxml_node::child) - .endClass() + .beginClass("xml_node") + .addConstructor() + .addProperty("valid",&lxml_node::valid) + .addProperty("name",&lxml_node::name) + .addFunction("child",&lxml_node::child) + .endClass() - .beginClass("xml_document") - .addConstructor() - .addFunction("load_file",&lxml_document::load_file) - .addFunction("child",&lxml_document::child) - .endClass() + .beginClass("xml_document") + .addConstructor() + .addProperty("valid",&lxml_document::valid) + .addFunction("load_file",&lxml_document::load_file) + .addFunction("child",&lxml_document::child) + .endClass() .endNamespace() ; diff --git a/readme.txt b/pugixml_readme.txt similarity index 100% rename from readme.txt rename to pugixml_readme.txt