summaryrefslogtreecommitdiff
path: root/PLUGINS/src/svdrpdemo/svdrpdemo.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-08-27 16:42:28 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2005-08-27 16:42:28 +0200
commit6445b9a0864a945d50e5ea4744f3bfa4ee8622dd (patch)
tree3b1759d7d98226656ee52bddab007e1c48847dc3 /PLUGINS/src/svdrpdemo/svdrpdemo.c
parent110c64f56db10405446cafb17a1c18308fff0b96 (diff)
downloadvdr-6445b9a0864a945d50e5ea4744f3bfa4ee8622dd.tar.gz
vdr-6445b9a0864a945d50e5ea4744f3bfa4ee8622dd.tar.bz2
Implemented SVDRP command for plugins
Diffstat (limited to 'PLUGINS/src/svdrpdemo/svdrpdemo.c')
-rw-r--r--PLUGINS/src/svdrpdemo/svdrpdemo.c60
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 00000000..b6ee9a70
--- /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!