summaryrefslogtreecommitdiff
path: root/activity.c
diff options
context:
space:
mode:
authorTimo Eskola <timo@tolleri.net>2015-09-08 13:45:38 +0300
committerTimo Eskola <timo@tolleri.net>2015-09-08 13:45:38 +0300
commit5803854e175a911011abc760b3cda23dae05b50a (patch)
tree33864afc0db289d1de30296d5d580098165d0604 /activity.c
parent9d91a147e9be5fa93af2d5e8753464546566174e (diff)
downloadvdr-plugin-useractivity-5803854e175a911011abc760b3cda23dae05b50a.tar.gz
vdr-plugin-useractivity-5803854e175a911011abc760b3cda23dae05b50a.tar.bz2
Version 0.0.3
Diffstat (limited to 'activity.c')
-rw-r--r--activity.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/activity.c b/activity.c
index 1575a41..1ab8f04 100644
--- a/activity.c
+++ b/activity.c
@@ -9,14 +9,19 @@
#include <stdlib.h>
#include <stdio.h>
#include <syslog.h>
+#ifdef USE_XSS
#include <X11/Xlib.h>
#include <X11/extensions/scrnsaver.h>
+#endif
#include <utmp.h>
#include <string.h>
#include <sstream>
#include <sys/stat.h>
#include <time.h>
#include <vdr/config.h>
+#if VDRVERSNUM >= 10501
+#include <vdr/shutdown.h>
+#endif
#include "activity.h"
#ifdef USE_XSS
@@ -100,6 +105,9 @@ char *cUserActivity::GetUsers(void) {
using namespace std;
stringstream stream;
+#if VDRVERSNUM >= 10501
+ stream << "VDR user has been inactive " << GetUserInactivity() << " minutes." << endl;
+#endif
stream << "USER DEVICE IDLE" << endl;
setutent();
while((uptr = getutent())!=NULL) {
@@ -124,3 +132,16 @@ char *cUserActivity::GetUsers(void) {
strcpy(result, resultString.c_str());
return result;
}
+
+#if VDRVERSNUM >= 10501
+int cUserActivity::GetUserInactivity(void) {
+ return GetMinUserInactivity() ?
+ GetMinUserInactivity() - 1 -
+ (ShutdownHandler.GetUserInactiveTime() - time(NULL))/60 : -1;
+}
+
+void cUserActivity::UserActivity(void) {
+ ShutdownHandler.SetUserInactiveTimeout();
+}
+#endif
+