From a964a8d732e81f4b2518b356f41a4eea47c38f54 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 3 Sep 2005 12:49:36 +0200 Subject: [PATCH] The SVDRP command PLUG now has a new option 'main' --- HISTORY | 2 ++ svdrp.c | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index ba8b874f..df5cb287 100644 --- a/HISTORY +++ b/HISTORY @@ -3781,3 +3781,5 @@ Video Disk Recorder Revision History - Added missing help for the 'help' keyword in the SVDRP command PLUG. - The main menu function of a plugin can now be called programmatically through the static function cRemote::CallPlugin(). +- The SVDRP command PLUG now has a new option 'main' which can be used to initiate + a call to the main menu function of a plugin (using part of a patch by Hardy Flor). diff --git a/svdrp.c b/svdrp.c index b25d8b0b..e1364df5 100644 --- a/svdrp.c +++ b/svdrp.c @@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 1.78 2005/09/03 12:17:35 kls Exp $ + * $Id: svdrp.c 1.79 2005/09/03 12:46:57 kls Exp $ */ #include "svdrp.h" @@ -269,7 +269,7 @@ const char *HelpPages[] = { " at the position where any previous replay was stopped, or from the beginning\n" " by default. To control or stop the replay session, use the usual remote\n" " control keypresses via the HITK command.", - "PLUG [ help ] [ [ ]]\n" + "PLUG [ help | main ] [ [ ]]\n" " Send a command to a plugin.\n" " The PLUG command without any parameters lists all plugins.\n" " If only a name is given, all commands known to that plugin are listed.\n" @@ -277,7 +277,8 @@ const char *HelpPages[] = { " is sent to the plugin, and the result will be displayed.\n" " The keyword 'help' lists all the SVDRP commands known to the named plugin.\n" " If 'help' is followed by a command, the detailed help for that command is\n" - " given.", + " given. The keyword 'main' initiates a call to the main menu function of the\n" + " given plugin.\n", "PUTE\n" " Put data into the EPG list. The data entered has to strictly follow the\n" " format defined in vdr(5) for the 'epg.data' file. A '.' on a line\n" @@ -1207,6 +1208,10 @@ void cSVDRP::CmdPLUG(const char *Option) Reply(214, "This plugin has no SVDRP commands"); } } + else if (strcasecmp(cmd, "MAIN") == 0) { + cRemote::CallPlugin(plugin->Name()); + Reply(250, "Initiated call to main menu function of plugin \"%s\"", plugin->Name()); + } else { int ReplyCode = 900; cString s = plugin->SVDRPCommand(cmd, option, ReplyCode);