vdr  2.4.1
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 
13 static const char *VERSION = "2.4.0";
14 static const char *DESCRIPTION = "Service demo server";
15 
16 class cPluginSvcSvr : public cPlugin {
17 public:
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 
27 struct AddService_v1_0 {
28  int a, b;
29  int sum;
30  };
31 
32 // --- cPluginSvcSvr ---------------------------------------------------------
33 
34 bool 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());
41  Interface->Confirm(s);
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 
57 VDRPLUGINCREATOR(cPluginSvcSvr); // Don't touch this!
cPluginSvcSvr::Description
virtual const char * Description(void)
Definition: svcsvr.c:19
Interface
cInterface * Interface
Definition: interface.c:20
VERSION
static const char * VERSION
Definition: svcsvr.c:13
AddService_v1_0::b
int b
Definition: svccli.c:31
cPluginSvcSvr::Version
virtual const char * Version(void)
Definition: svcsvr.c:18
cPlugin
Definition: plugin.h:20
ReportBoredPlugin_v1_0::BoredPlugin
cPlugin * BoredPlugin
Definition: svccli.c:27
cPlugin::Name
const char * Name(void)
Definition: plugin.h:34
AddService_v1_0
Definition: svccli.c:30
AddService_v1_0::sum
int sum
Definition: svccli.c:32
cPluginSvcSvr::Service
virtual bool Service(const char *Id, void *Data)
Definition: svcsvr.c:34
cInterface::Confirm
bool Confirm(const char *s, int Seconds=10, bool WaitForTimeout=false)
Definition: interface.c:59
ReportBoredPlugin_v1_0
Definition: svccli.c:26
DESCRIPTION
static const char * DESCRIPTION
Definition: svcsvr.c:14
AddService_v1_0::a
int a
Definition: svccli.c:31
VDRPLUGINCREATOR
VDRPLUGINCREATOR(cPluginSvcSvr)
cPluginSvcSvr
Definition: svcsvr.c:16