diff options
Diffstat (limited to 'src/xmlmenu.h')
-rw-r--r-- | src/xmlmenu.h | 23 |
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 |