vdr 2.6.4
svcsvr.c
Go to the documentation of this file.
1/*
2 * svcsvr.c: Sample service server plugin
3 *
4 * See the README file for copyright information and how to reach the author.
5 *
6 * $Id: svcsvr.c 4.1 2018/04/10 13:00:57 kls Exp $
7 */
8
9#include <stdlib.h>
10#include <vdr/interface.h>
11#include <vdr/plugin.h>
12
13static const char *VERSION = "2.4.0";
14static const char *DESCRIPTION = "Service demo server";
15
16class cPluginSvcSvr : public cPlugin {
17public:
18 virtual const char *Version(void) { return VERSION; }
19 virtual const char *Description(void) { return DESCRIPTION; }
20 virtual bool Service(const char *Id, void *Data);
21 };
22
25 };
26
27struct AddService_v1_0 {
28 int a, b;
29 int sum;
30 };
31
32// --- cPluginSvcSvr ---------------------------------------------------------
33
34bool cPluginSvcSvr::Service(const char *Id, void *Data)
35{
36 if (strcmp(Id,"ReportBoredPlugin-v1.0") == 0) {
37 if (Data) {
39 char s[128];
40 snprintf(s, sizeof(s), "Plugin %s informed server that it is bored.", rbp->BoredPlugin->Name());
42 }
43 return true;
44 }
45
46 if (strcmp(Id,"AddService-v1.0") == 0) {
47 if (Data) {
48 AddService_v1_0 *data = (AddService_v1_0*)Data;
49 data->sum = data->a + data->b;
50 }
51 return true;
52 }
53
54 return false;
55}
56
57VDRPLUGINCREATOR(cPluginSvcSvr); // Don't touch this!
bool Confirm(const char *s, int Seconds=10, bool WaitForTimeout=false)
Definition interface.c:59
virtual bool Service(const char *Id, void *Data)
Definition svcsvr.c:34
virtual const char * Description(void)
Definition svcsvr.c:19
virtual const char * Version(void)
Definition svcsvr.c:18
const char * Name(void)
Definition plugin.h:36
cInterface * Interface
Definition interface.c:20
#define VDRPLUGINCREATOR(PluginClass)
Definition plugin.h:18
cPlugin * BoredPlugin
Definition svccli.c:27
static const char * VERSION
Definition svcsvr.c:13
static const char * DESCRIPTION
Definition svcsvr.c:14