diff options
author | root <root@maschine.(none)> | 2012-11-27 02:11:15 +0100 |
---|---|---|
committer | root <root@maschine.(none)> | 2012-11-27 02:11:15 +0100 |
commit | 4b51af06327270caa4f38c31f28cdfbc1baabc4e (patch) | |
tree | 2556e7eb912d5f1352866924cfe3e6f3d2dc13bb /skinnopacity.c | |
download | skin-nopacity-4b51af06327270caa4f38c31f28cdfbc1baabc4e.tar.gz skin-nopacity-4b51af06327270caa4f38c31f28cdfbc1baabc4e.tar.bz2 |
Initial push nOpacity 0.0.3
Diffstat (limited to 'skinnopacity.c')
-rw-r--r-- | skinnopacity.c | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/skinnopacity.c b/skinnopacity.c new file mode 100644 index 0000000..79d7870 --- /dev/null +++ b/skinnopacity.c @@ -0,0 +1,165 @@ +/* + * skinopacity.c: A plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + * $Id$ + */ +#include <getopt.h> +#include <vdr/plugin.h> + +#include "nopacity.c" + +#if defined(APIVERSNUM) && APIVERSNUM < 10730 +#error "VDR-1.7. API version or greater is required!" +#endif + + +static const char *VERSION = "0.0.3"; +static const char *DESCRIPTION = "'nOpacity' Skin"; +static const char *MAINMENUENTRY = "nOpacity"; + +class cPluginNopacity : public cPlugin { +private: +public: + cPluginNopacity(void); + virtual ~cPluginNopacity(); + virtual const char *Version(void) { return VERSION; } + virtual const char *Description(void) { return DESCRIPTION; } + virtual const char *CommandLineHelp(void); + virtual bool ProcessArgs(int argc, char *argv[]); + virtual bool Initialize(void); + virtual bool Start(void); + virtual void Stop(void); + virtual void Housekeeping(void); + virtual void MainThreadHook(void); + virtual cString Active(void); + virtual time_t WakeupTime(void); + virtual const char *MainMenuEntry(void) {return config.mainMenuEntry ? MAINMENUENTRY : NULL;} + virtual cOsdObject *MainMenuAction(void); + virtual cMenuSetupPage *SetupMenu(void); + virtual bool SetupParse(const char *Name, const char *Value); + virtual bool Service(const char *Id, void *Data = NULL); + virtual const char **SVDRPHelpPages(void); + virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode); + }; + +cPluginNopacity::cPluginNopacity(void) +{ +} + +cPluginNopacity::~cPluginNopacity() +{ +} + +const char *cPluginNopacity::CommandLineHelp(void) +{ + return + " -e <EPGIMAGESPATH>, --epgimages=<IMAGESPATH> Set directory where epgimages are stored\n" + " -i <ICONSPATH>, --iconpath=<ICONSPATH> Set directory where Menu Icons are stored\n" + " -l <LOGOPATH>, --logopath=<LOGOPATH> Set directory where Channel Logos are stored.\n"; +} + +bool cPluginNopacity::ProcessArgs(int argc, char *argv[]) +{ + // Implement command line argument processing here if applicable. + static const struct option long_options[] = { + { "epgimages", required_argument, NULL, 'e' }, + { "logopath", required_argument, NULL, 'l' }, + { "iconpath", required_argument, NULL, 'i' }, + { 0, 0, 0, 0 } + }; + + int c; + cString *path = NULL; + while ((c = getopt_long(argc, argv, "e:l:i:", long_options, NULL)) != -1) { + switch (c) { + case 'l': + path = new cString(optarg); + config.SetLogoPath(*path); + break; + case 'e': + path = new cString(optarg); + config.SetEpgImagePath(*path); + break; + case 'i': + path = new cString(optarg); + config.SetIconPath(*path); + break; + default: + return false; + } + if (path) + delete path; + } + return true; +} + +bool cPluginNopacity::Initialize(void) +{ + return true; +} + +bool cPluginNopacity::Start(void) +{ + if (!cOsdProvider::SupportsTrueColor()) { + esyslog("nopacity: No TrueColor OSD found! Aborting!"); + return false; + } else + dsyslog("nopacity: TrueColor OSD found"); + return new cNopacity; +} + +void cPluginNopacity::Stop(void) +{ +} + +void cPluginNopacity::Housekeeping(void) +{ +} + +void cPluginNopacity::MainThreadHook(void) +{ +} + +cString cPluginNopacity::Active(void) +{ + return NULL; +} + +time_t cPluginNopacity::WakeupTime(void) +{ + return 0; +} + +cOsdObject *cPluginNopacity::MainMenuAction(void) +{ + return NULL; +} + +cMenuSetupPage *cPluginNopacity::SetupMenu(void) +{ + return new cNopacitySetup(); +} + +bool cPluginNopacity::SetupParse(const char *Name, const char *Value) +{ + return config.SetupParse(Name, Value); +} + +bool cPluginNopacity::Service(const char *Id, void *Data) +{ + return false; +} + +const char **cPluginNopacity::SVDRPHelpPages(void) +{ + return NULL; +} + +cString cPluginNopacity::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) +{ + return NULL; +} + +VDRPLUGINCREATOR(cPluginNopacity); // Don't touch this! |