summaryrefslogtreecommitdiff
path: root/src/xmlmenu.h
blob: bbae9b02c282305c11763bc9ddc14d39a207c5e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef ___XMLMENU_H
#define ___XMLMENU_H

#include <libxml++/libxml++.h>
#include "menunode.h"

using namespace xmlpp;

struct PluginItemAndIndex
{
	const char* item;
	int index;
};

class XmlMenu
{
	private:
		//void createMenu(); // create the Menu Node
		void parseNode(const Node* a_node, unsigned int Parent, unsigned int ItemIndex, unsigned int MenuIndex);
		eOSState geteOSState(const Glib::ustring& name); // gets the eOSState for the given string
		PluginItemAndIndex* getPlugin(const Glib::ustring& name); // gets the plugin for the given string
		MenuNode* _subMenu[30]; // holds the submenus
		int MenuCount;

	public:
		MenuNode _rootMenuNode; // hold the Menue Nodes
		void loadXmlMenu(); // load the xmlfile
};

#endif