summaryrefslogtreecommitdiff
path: root/src/vdr-plugin/menudata.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vdr-plugin/menudata.h')
-rw-r--r--src/vdr-plugin/menudata.h100
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