#include "pugilua_lib.h" #include #include #include #include namespace pugi { namespace lua { class lxml_parse_result { public: lxml_parse_result(pugi::xml_parse_result& r):res(r) { } lxml_parse_result() { } public: std::string description() const { return res.description(); } private: pugi::xml_parse_result res; }; class lxml_document { public: RefCountedPtr load_file(char const* path) { return RefCountedPtr(new lxml_parse_result(doc.load_file(path))); } private: pugi::xml_document doc; }; } } void register_pugilua (lua_State* L) { using namespace pugi::lua; luabridge::getGlobalNamespace(L) .beginNamespace("pugi") .beginClass("xml_parse_result") .addConstructor() .addProperty("description",&lxml_parse_result::description) .endClass() .beginClass("xml_document") .addConstructor() .addFunction("load_file",&lxml_document::load_file) .endClass() .endNamespace() ; }