diff options
author | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-26 14:37:01 +0000 |
---|---|---|
committer | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2007-08-26 14:37:01 +0000 |
commit | 926b492183dd2b598587e962f952dabf9401f56c (patch) | |
tree | dbed3f72a727558e896b7991a83fadc46a7df023 /src/menuconfiguration.cpp | |
parent | 7ee0187d94b02ed3ae0ddcf4999cf0487a2d9ad9 (diff) | |
download | vdr-plugin-menuorg-926b492183dd2b598587e962f952dabf9401f56c.tar.gz vdr-plugin-menuorg-926b492183dd2b598587e962f952dabf9401f56c.tar.bz2 |
passing menu configuration to menusetup
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@6005 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'src/menuconfiguration.cpp')
-rw-r--r-- | src/menuconfiguration.cpp | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/menuconfiguration.cpp b/src/menuconfiguration.cpp index 38cc58a..0b02cec 100644 --- a/src/menuconfiguration.cpp +++ b/src/menuconfiguration.cpp @@ -21,7 +21,6 @@ */ #include "menuconfiguration.h" -#include <libxml++/libxml++.h> #include <exception> #include <iostream> #include <vdr/plugin.h> @@ -60,17 +59,16 @@ MenuConfiguration::MenuConfiguration(string menuFileName) { dsyslog("loading menuorg config file from %s", menuFileName.c_str()); - DomParser parser; - parser.set_substitute_entities(); - parser.parse_file(menuFileName); + _parser.set_substitute_entities(); + _parser.parse_file(menuFileName); DtdValidator validator; validator.parse_memory(_dtd); - Document *pDoc = parser.get_document(); + Document *pDoc = _parser.get_document(); validator.validate( pDoc ); - _configuration = parser.get_document()->get_root_node(); + _configuration = _parser.get_document()->get_root_node(); } catch(const std::exception& ex) @@ -80,6 +78,11 @@ MenuConfiguration::MenuConfiguration(string menuFileName) } } +Element* MenuConfiguration::Configuration() +{ + return _configuration; +} + MenuNode* MenuConfiguration::MenuTree() { if (_configuration) @@ -100,11 +103,11 @@ void MenuConfiguration::CreateMenuTree(const Element* menuRoot, MenuNode* menuNo Node::NodeList children = menuRoot->get_children(); for (Node::NodeList::iterator i = children.begin(); i != children.end(); i++) { - const xmlpp::Element* childElement = dynamic_cast<const xmlpp::Element*>(*i); + const Element* childElement = dynamic_cast<const Element*>(*i); if (childElement) { - const xmlpp::Attribute* nameAttribute = childElement->get_attribute("name"); + const Attribute* nameAttribute = childElement->get_attribute("name"); string type = childElement->get_name(); string name = UnicodeToLocaleOrIso8859(nameAttribute->get_value()); @@ -116,20 +119,20 @@ void MenuConfiguration::CreateMenuTree(const Element* menuRoot, MenuNode* menuNo } else if (type == "system") { - const xmlpp::Attribute* titleAttribute = childElement->get_attribute("title"); + const Attribute* titleAttribute = childElement->get_attribute("title"); string title = titleAttribute ? (string) UnicodeToLocaleOrIso8859(titleAttribute->get_value()) : name; AddSystemMenuNode(name, title, menuNode); } else if (type == "plugin") { - const xmlpp::Attribute* titleAttribute = childElement->get_attribute("title"); + const Attribute* titleAttribute = childElement->get_attribute("title"); string title = titleAttribute ? (string) UnicodeToLocaleOrIso8859(titleAttribute->get_value()) : name; AddPluginMenuNode(name, title, menuNode); } else if (type == "command") { string execute = childElement->get_attribute("execute")->get_value(); - const xmlpp::Attribute* confirmAttribute = childElement->get_attribute("confirm"); + const Attribute* confirmAttribute = childElement->get_attribute("confirm"); bool confirm = confirmAttribute ? (confirmAttribute->get_value() == "yes") : false; AddCommandMenuNode(name, execute, confirm, menuNode); } |