diff options
Diffstat (limited to 'zappilot.c')
-rw-r--r-- | zappilot.c | 119 |
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); |