summaryrefslogtreecommitdiff
path: root/src/xmlmenu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlmenu.h')
-rw-r--r--src/xmlmenu.h23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/xmlmenu.h b/src/xmlmenu.h
index 4c7dbb1..f3cf372 100644
--- a/src/xmlmenu.h
+++ b/src/xmlmenu.h
@@ -1,24 +1,29 @@
#ifndef ___XMLMENU_H
#define ___XMLMENU_H
-#include <libxml++/libxml++.h>
+#include <string>
+#include <vdr/osdbase.h>
#include "menunode.h"
-using namespace xmlpp;
+namespace xmlpp { class Element; }
class XmlMenu
{
private:
- //void createMenu(); // create the Menu Node
- void ParseElement(const Element* a_node, MenuNode* menuNode);
- eOSState geteOSState(std::string name); // gets the eOSState for the given string
- bool FindPluginByName(std::string name, const char** mainMenuEntry, int& pluginIndex); // gets the plugin for the given string
- MenuNode* _subMenu[30]; // holds the submenus
int MenuCount;
+ MenuNode _rootMenuNode;
public:
- MenuNode _rootMenuNode; // hold the Menue Nodes
- void loadXmlMenu(); // load the xmlfile
+ MenuNode* GetMenuTree();
+ void LoadXmlMenu();
+
+ private:
+ void ParseElement(const xmlpp::Element* a_node, MenuNode* menuNode);
+ eOSState MenuTextToVdrState(std::string menuText);
+ bool FindPluginByName(std::string name, const char** mainMenuEntry, int& pluginIndex);
+ MenuNode* AddSubMenuItem(std::string name, MenuNode* menu);
+ void AddSystemMenuItem(std::string name, MenuNode* menu);
+ void AddPluginMenuItem(std::string pluginName, MenuNode* menu);
};
#endif