diff options
Diffstat (limited to 'dvdswitch.c')
-rw-r--r-- | dvdswitch.c | 59 |
1 files changed, 26 insertions, 33 deletions
diff --git a/dvdswitch.c b/dvdswitch.c index f039dd7..40c0d70 100644 --- a/dvdswitch.c +++ b/dvdswitch.c @@ -9,23 +9,27 @@ #include <getopt.h> #include <unistd.h> #include <vdr/plugin.h> -#include "i18n.h" #include "helpers.h" +#include "imagelist.h" #include "setup.h" #include "menu.h" #include "dvdplugin.h" -#include "imagelist.h" -//#include "dvdlist.h" -static const char *VERSION = "0.1.3"; -static const char *DESCRIPTION = "allowed to play DVD-Images"; -//static const char *MAINMENUENTRY = "DVDSwitch"; +#if defined(APIVERSNUM) && APIVERSNUM < 10600 +#error "VDR-1.6.0 API version or greater is required!" +#endif + +static const char *VERSION = "0.1.4"; +static const char *DESCRIPTION = tr("Allowed to play DVD-Images"); +//static const char *MAINMENUENTRY = tr("DVDSwitch"); class cPluginDvdswitch : public cPlugin { private: // Add any member variables or functions you may need here. bool CheckError(void); public: + cImageList ImageList; + cPluginDvdswitch(void); virtual ~cPluginDvdswitch(); virtual const char *Version(void) { return VERSION; } @@ -36,7 +40,6 @@ public: virtual bool Start(void); virtual void Stop(void); virtual void Housekeeping(void); - //virtual const char *MainMenuEntry(void) { return tr(MAINMENUENTRY); } virtual const char *MainMenuEntry(void) { return DVDSwitchSetup.HideMenuEntry ? NULL : DVDSwitchSetup.MenuName; } virtual cOsdObject *MainMenuAction(void); virtual cMenuSetupPage *SetupMenu(void); @@ -57,14 +60,12 @@ cPluginDvdswitch::~cPluginDvdswitch() { // Clean up after yourself! cDVDPlugin::Finish(); - DebugLog.End(); } const char *cPluginDvdswitch::CommandLineHelp(void) { //12345678901234567890123456789012345678901234567890123456789012345678901234567890| return - " -D LOGFILE, --debug=LOGFILE write Debug-Info's in LOGFILE\n" " -r SCRIPT, --readscript=SCRIPT SCRIPT = scriptname with path for reading" " DVD as a ISO Image File" " -w SCRIPT, --writescript=SCRIPT SCRIPT = scriptname with path to writing" @@ -76,7 +77,6 @@ const char *cPluginDvdswitch::CommandLineHelp(void) bool cPluginDvdswitch::ProcessArgs(int argc, char *argv[]) { static struct option long_options[] = { - { "debug", required_argument, NULL, 'D' }, { "readscript", required_argument, NULL, 'r' }, { "writescript", required_argument, NULL, 'w' }, { "imagedir", required_argument, NULL, 'i' }, @@ -86,25 +86,22 @@ bool cPluginDvdswitch::ProcessArgs(int argc, char *argv[]) int c = 0; optind = 1; //default for getopt - while((c = getopt_long(argc, argv, "D:r:w:i:", long_options, NULL)) != -1) + while((c = getopt_long(argc, argv, "r:w:i:", long_options, NULL)) != -1) { switch(c) { - case 'D': - DebugLog.SetLogFile(optarg); - break; case 'r': - strn0cpy(DVDSwitchSetup.DVDReadScript, optarg, MaxFileName); + strn0cpy(DVDSwitchSetup.DVDReadScript, optarg, memberof(DVDSwitchSetup.DVDReadScript)); break; case 'w': - strn0cpy(DVDSwitchSetup.DVDWriteScript, optarg, MaxFileName); + strn0cpy(DVDSwitchSetup.DVDWriteScript, optarg, memberof(DVDSwitchSetup.DVDWriteScript)); break; case 'i': - strn0cpy(DVDSwitchSetup.ImageDir, optarg, MaxFileName); + strn0cpy(DVDSwitchSetup.ImageDir, optarg, memberof(DVDSwitchSetup.ImageDir)); DVDSwitchSetup.ImageDirPerParam = true; break; default: - esyslog("DVDSwitch: unknown Parameter: %c", c); + esyslog("DVDSwitch: unknown parameter: %c", c); break; } } @@ -115,10 +112,9 @@ bool cPluginDvdswitch::ProcessArgs(int argc, char *argv[]) bool cPluginDvdswitch::Initialize(void) { // Initialize any background activities the plugin shall perform. - DEBUG("Plugin wird initialisiert"); - RegisterI18n(Phrases); + dsyslog("Initialize plugin"); - DVDSwitchSetup.SetConfDir((char*)ConfigDirectory(Name())); + DVDSwitchSetup.SetConfDir(ConfigDirectory(Name())); cDVDPlugin::Init(); ImageList.Init(); DVDSwitchSetup.Init(); @@ -145,26 +141,24 @@ void cPluginDvdswitch::Housekeeping(void) cOsdObject *cPluginDvdswitch::MainMenuAction(void) { // Perform the action when selected from the main VDR menu. - DEBUG("MainMenuAction"); if (CheckError()) { - DEBUG("Fehler entdeckt. Keine OSDOBJECT Rueckgabe"); return NULL; } else - return new cMainMenu(); + return new cMainMenu(ImageList); } cMenuSetupPage *cPluginDvdswitch::SetupMenu(void) { // Return a setup menu in case the plugin supports one. - return new cMenuSetupDVDSwitch(); + return new cMenuSetupDVDSwitch(ImageList); } bool cPluginDvdswitch::SetupParse(const char *Name, const char *Value) { // Parse your own setup parameters and store their values. - return DVDSwitchSetup.SetupParse(Name, Value); + return DVDSwitchSetup.SetupParse(Name, Value, ImageList); } bool cPluginDvdswitch::Service(const char *Id, void *Data) @@ -187,20 +181,19 @@ cString cPluginDvdswitch::SVDRPCommand(const char *Command, const char *Option, bool cPluginDvdswitch::CheckError(void) { - DEBUG("Fehlercheck"); - DEBUG("Check ImageDir"); + dsyslog("Check ImageDir"); if(!DirectoryOk(DVDSwitchSetup.ImageDir)) { - DEBUG("ImageDir '%s' ist nicht lesbar oder existiert nicht", DVDSwitchSetup.ImageDir); - OSD_ERRMSG(tr("Image Directory not readable or not exist")); + esyslog("Image Directory '%s' not readable", DVDSwitchSetup.ImageDir); + OsdMsg(mtError,tr("Image Directory not readable or not exist")); return true; } - DEBUG("Check DVD Plugin"); + dsyslog("Check DVD Plugin"); if(!cPluginManager::GetPlugin("dvd")) { - DEBUG("DVDPlugin wurde nicht gefunden!"); - OSD_INFOMSG(tr("DVD-Plugin not found! Function deactivated!")); + esyslog("DVD-Plugin not found! Function deactivated!"); + OsdMsg(mtInfo,tr("DVD-Plugin not found! Function deactivated!")); } else DVDSwitchSetup.DVDPluginExist = true; |