summaryrefslogtreecommitdiff
path: root/dvdswitch.c
diff options
context:
space:
mode:
Diffstat (limited to 'dvdswitch.c')
-rw-r--r--dvdswitch.c59
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;