The SVDRP command PLUG now has a new option 'main'

This commit is contained in:
Klaus Schmidinger 2005-09-03 12:49:36 +02:00
parent 590d56bf59
commit a964a8d732
2 changed files with 10 additions and 3 deletions

View File

@ -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).

11
svdrp.c
View File

@ -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 <name> [ help ] [ <command> [ <options> ]]\n"
"PLUG <name> [ help | main ] [ <command> [ <options> ]]\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);