diff options
Diffstat (limited to 'src/vdr-plugin/menudata.h')
-rw-r--r-- | src/vdr-plugin/menudata.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/src/vdr-plugin/menudata.h b/src/vdr-plugin/menudata.h new file mode 100644 index 0000000..23a126c --- /dev/null +++ b/src/vdr-plugin/menudata.h @@ -0,0 +1,100 @@ +/* + * menudata.h: Web video plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + * $Id$ + */ + +#ifndef __WEBVIDEO_MENUDATA_H +#define __WEBVIDEO_MENUDATA_H + +// --- cLinkBase ----------------------------------------------------------- + +class cLinkBase { +public: + virtual ~cLinkBase() {}; // avoids "virtual functions but + // non-virtual destructor" warning + + virtual char *GetURL() = 0; +}; + +// --- cQueryData ---------------------------------------------------------- + +class cQueryData { +private: + char *name; + +public: + cQueryData(const char *Name); + virtual ~cQueryData(); + + const char *GetName() { return name; } + virtual char *GetQueryFragment() = 0; +}; + +// --- cSimpleLink --------------------------------------------------------- + +class cSimpleLink : public cLinkBase { +private: + char *ref; +public: + cSimpleLink(const char *ref); + virtual ~cSimpleLink(); + + virtual char *GetURL(); +}; + +// --- cTextFieldData ------------------------------------------------------ + +class cTextFieldData : public cQueryData { +private: + char *name; + char *valuebuffer; + int valuebufferlength; +public: + cTextFieldData(const char *Name, int Length); + virtual ~cTextFieldData(); + + virtual char *GetQueryFragment(); + char *GetValue(); + int GetLength(); +}; + +// --- cItemListData ------------------------------------------------------- + +class cItemListData : public cQueryData { +private: + char *name; + int value; + int numstrings; + char **strings; + char **stringvalues; +public: + cItemListData(const char *Name, char **Strings, char **StringValues, int NumStrings); + virtual ~cItemListData(); + + virtual char *GetQueryFragment(); + char **GetStrings(); + char **GetStringValues(); + int GetNumStrings(); + int *GetValuePtr(); +}; + +// --- cSubmissionButtonData ----------------------------------------------- + +class cHistoryObject; + +class cSubmissionButtonData : public cLinkBase { +private: + char *querybase; + const cHistoryObject *page; +public: + cSubmissionButtonData(const char *queryUrl, + const cHistoryObject *currentPage); + virtual ~cSubmissionButtonData(); + + virtual char *GetURL(); +}; + +#endif |