diff options
Diffstat (limited to 'PLUGINS/src/svdrpdemo/svdrpdemo.c')
-rw-r--r-- | PLUGINS/src/svdrpdemo/svdrpdemo.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/PLUGINS/src/svdrpdemo/svdrpdemo.c b/PLUGINS/src/svdrpdemo/svdrpdemo.c new file mode 100644 index 0000000..b6ee9a7 --- /dev/null +++ b/PLUGINS/src/svdrpdemo/svdrpdemo.c @@ -0,0 +1,60 @@ +/* + * svdrpdemo.c: A plugin for the Video Disk Recorder + * + * See the README file for copyright information and how to reach the author. + * + * $Id: svdrpdemo.c 1.1 2005/08/27 16:28:58 kls Exp $ + */ + +#include <vdr/plugin.h> + +static const char *VERSION = "0.0.1"; +static const char *DESCRIPTION = "How to add SVDRP support to a plugin"; +static const char *MAINMENUENTRY = NULL; + +class cPluginSvdrpdemo : public cPlugin { +private: + // Add any member variables or functions you may need here. +public: + virtual const char *Version(void) { return VERSION; } + virtual const char *Description(void) { return DESCRIPTION; } + virtual const char **SVDRPHelpPages(void); + virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode); + }; + +const char **cPluginSvdrpdemo::SVDRPHelpPages(void) +{ + static const char *HelpPages[] = { + "DATE\n" + " Print the current date.", + "TIME [ raw ]\n" + " Print the current time.\n" + " If the optional keyword 'raw' is given, the result will be the\n" + " raw time_t data.", + NULL + }; + return HelpPages; +} + +cString cPluginSvdrpdemo::SVDRPCommand(const char *Command, const char *Option, int &ReplyCode) +{ + if (strcasecmp(Command, "DATE") == 0) { + // we use the default reply code here + return DateString(time(NULL)); + } + else if (strcasecmp(Command, "TIME") == 0) { + ReplyCode = 901; + if (*Option) { + if (strcasecmp(Option, "RAW") == 0) + return cString::sprintf("%ld\nThis is the number of seconds since the epoch\nand a demo of a multi-line reply", time(NULL)); + else { + ReplyCode = 504; + return cString::sprintf("Unknown option: \"%s\"", Option); + } + } + return TimeString(time(NULL)); + } + return NULL; +} + +VDRPLUGINCREATOR(cPluginSvdrpdemo); // Don't touch this! |