summaryrefslogtreecommitdiff
path: root/src/menuconfiguration.cpp
diff options
context:
space:
mode:
authorsvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-08-26 14:37:01 +0000
committersvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-08-26 14:37:01 +0000
commit926b492183dd2b598587e962f952dabf9401f56c (patch)
treedbed3f72a727558e896b7991a83fadc46a7df023 /src/menuconfiguration.cpp
parent7ee0187d94b02ed3ae0ddcf4999cf0487a2d9ad9 (diff)
downloadvdr-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.cpp25
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);
}