summaryrefslogtreecommitdiff
path: root/skinnopacity.c
diff options
context:
space:
mode:
authorroot <root@maschine.(none)>2012-11-27 02:11:15 +0100
committerroot <root@maschine.(none)>2012-11-27 02:11:15 +0100
commit4b51af06327270caa4f38c31f28cdfbc1baabc4e (patch)
tree2556e7eb912d5f1352866924cfe3e6f3d2dc13bb /skinnopacity.c
downloadskin-nopacity-4b51af06327270caa4f38c31f28cdfbc1baabc4e.tar.gz
skin-nopacity-4b51af06327270caa4f38c31f28cdfbc1baabc4e.tar.bz2
Initial push nOpacity 0.0.3
Diffstat (limited to 'skinnopacity.c')
-rw-r--r--skinnopacity.c165
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!