diff options
author | Frank Schmirler <vdr@schmirler.de> | 2014-11-07 23:51:13 +0100 |
---|---|---|
committer | Frank Schmirler <vdr@schmirler.de> | 2014-11-07 23:51:13 +0100 |
commit | 1ee2049c4dbc85b0af5afafae80acaab6abefb73 (patch) | |
tree | 23c5c0355a9bd30bf3710cd600f7e11696e44251 /server | |
parent | 99b223c55f0ec98bdc7fda0e6d83ca7f28c36cd9 (diff) | |
download | vdr-plugin-streamdev-1ee2049c4dbc85b0af5afafae80acaab6abefb73.tar.gz vdr-plugin-streamdev-1ee2049c4dbc85b0af5afafae80acaab6abefb73.tar.bz2 |
Added service call returning the number of clients (closes #1967)
Diffstat (limited to 'server')
-rw-r--r-- | server/streamdev-server.c | 13 | ||||
-rw-r--r-- | server/streamdev-server.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/server/streamdev-server.c b/server/streamdev-server.c index e1475da..33d08a5 100644 --- a/server/streamdev-server.c +++ b/server/streamdev-server.c @@ -243,4 +243,17 @@ cString cPluginStreamdevServer::SVDRPCommand(const char *Command, const char *Op return reply; } +bool cPluginStreamdevServer::Service(const char *Id, void *Data) +{ + if (strcmp(Id, "StreamdevServer::ClientCount-v1.0") == 0) { + if (Data) { + int *count = (int *) Data; + cThreadLock lock; + *count = cStreamdevServer::Clients(lock).Count(); + } + return true; + } + return false; +} + VDRPLUGINCREATOR(cPluginStreamdevServer); // Don't touch this! diff --git a/server/streamdev-server.h b/server/streamdev-server.h index 0d588fc..4654e26 100644 --- a/server/streamdev-server.h +++ b/server/streamdev-server.h @@ -46,6 +46,7 @@ public: virtual bool SetupParse(const char *Name, const char *Value); virtual const char **SVDRPHelpPages(void); virtual cString SVDRPCommand(const char *Command, const char *Option, int &ReplyCode); + virtual bool Service(const char *Id, void *Data = NULL); }; #endif // VDR_STREAMDEVSERVER_H |