#ifndef VDR_PERL_MENUITEMS_H
#define VDR_PERL_MENUITEMS_H

#include "callback.h"
#include <vdr/menuitems.h>

// --- cPerlMenuEditStrItem ---------------------------------------------------

class cPerlMenuEditStrItem: public cMenuEditStrItem, public cPerlCallbackBase {
private:
	static const char *AllowedChars;
	char *mValue;
	int mLength;
public:
	cPerlMenuEditStrItem(FILE *Pipe, const char *Name, const char *Value, 
	                     int Length, const char *Allowed = NULL, 
	                     const char *OName = "MenuEditStrItem");
	virtual ~cPerlMenuEditStrItem();
};

// --- cPerlMenuEditStraItem --------------------------------------------------

class cPerlMenuEditStraItem: public cMenuEditStraItem, public cPerlCallbackBase 
{
private:
	int mValue;
	int mNumStrings;
	char **mStrings;
public:
	cPerlMenuEditStraItem(FILE *Pipe, const char *Name, int Value, 
	                      int NumStrings, char **Strings,
	                      const char *OName = "MenuEditStraItem");
	virtual ~cPerlMenuEditStraItem();
};

#endif // VDR_PERL_MENUITEMS_H
