summaryrefslogtreecommitdiff
path: root/zappilot.c
diff options
context:
space:
mode:
Diffstat (limited to 'zappilot.c')
-rw-r--r--zappilot.c119
1 files changed, 119 insertions, 0 deletions
diff --git a/zappilot.c b/zappilot.c
new file mode 100644
index 0000000..ba544f0
--- /dev/null
+++ b/zappilot.c
@@ -0,0 +1,119 @@
+/*
+ * zappilot.c: A plugin for the Video Disk Recorder
+ *
+ * See the README file for copyright information and how to reach the author.
+ *
+ * $Id$
+ */
+
+#include "config.h"
+#include "zappilotosd.h"
+#include "zappilotsetup.h"
+
+#include <vdr/plugin.h>
+
+static const char *VERSION = "0.0.4";
+static const char *DESCRIPTION = trNOOP("A zapping co-pilot");
+static const char *MAINMENUENTRY = trNOOP("Zappilot");
+
+class cPluginZappilot : public cPlugin
+{
+ private:
+ // Add any member variables or functions you may need here.
+ public:
+ cPluginZappilot(void);
+ virtual ~cPluginZappilot();
+ virtual const char *Version(void) { return VERSION; }
+ virtual const char *Description(void) { return tr(DESCRIPTION); }
+ virtual const char *CommandLineHelp(void);
+ virtual bool ProcessArgs(int argc, char *argv[]);
+ virtual bool Start(void);
+ virtual void Housekeeping(void);
+ virtual const char *MainMenuEntry(void)
+ {
+ return config.hidemenu ? NULL : tr(MAINMENUENTRY);
+ }
+ virtual cOsdObject *MainMenuAction(void);
+ virtual cMenuSetupPage *SetupMenu(void);
+ virtual bool SetupParse(const char *Name, const char *Value);
+};
+
+int PilotChannelNumber;
+
+cPluginZappilot::cPluginZappilot(void)
+{
+ // Initialize any member variables here.
+ // DON'T DO ANYTHING ELSE THAT MAY HAVE SIDE EFFECTS, REQUIRE GLOBAL
+ // VDR OBJECTS TO EXIST OR PRODUCE ANY OUTPUT!
+ config.closeonswitch=1;
+ config.hidemenu=0;
+ config.fastbrowse=0;
+
+}
+
+
+cPluginZappilot::~cPluginZappilot()
+{
+ // Clean up after yourself!
+}
+
+
+const char *cPluginZappilot::CommandLineHelp(void)
+{
+ // Return a string that describes all known command line options.
+ return NULL;
+}
+
+
+bool cPluginZappilot::ProcessArgs(int argc, char *argv[])
+{
+ // Implement command line argument processing here if applicable.
+ return true;
+}
+
+
+bool cPluginZappilot::Start(void)
+{
+ // Start any background activities the plugin shall perform.
+ // Default values for setup
+ return true;
+}
+
+
+void cPluginZappilot::Housekeeping(void)
+{
+ // Perform any cleanup or other regular tasks.
+}
+
+
+cOsdObject *cPluginZappilot::MainMenuAction(void)
+{
+ // Perform the action when selected from the main VDR menu.
+ return new cZappilotOsd;
+}
+
+
+cMenuSetupPage *cPluginZappilot::SetupMenu(void)
+{
+ // Return a setup menu in case the plugin supports one.
+ return new cZappilotSetup;
+}
+
+
+bool cPluginZappilot::SetupParse(const char *Name, const char *Value)
+{
+ // Parse your own setup parameters and store their values.
+ if (!strcasecmp(Name, "CloseOnSwitch")) config.closeonswitch = atoi(Value);
+ else if (!strcasecmp(Name, "HideMenu")) config.hidemenu = atoi(Value);
+ else if (!strcasecmp(Name, "FastBrowse")) config.fastbrowse = atoi(Value);
+ else
+ return false;
+
+ return true;
+}
+
+
+sZappilotConfig config;
+
+// Don't touch this!
+VDRPLUGINCREATOR(cPluginZappilot);