summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeine_Ahnung <no@mail.com>2013-01-29 22:19:14 +0100
committerKeine_Ahnung <no@mail.com>2013-01-29 22:19:14 +0100
commitf1472cb713f1f6d0e2200f7840effcf3fef88392 (patch)
tree6c94d2c536ba2cae951a23b90066ad4326eb2e12
parent573880e2e07794dbe799907e6a0fc6a7ede7b29b (diff)
downloadvdr-plugin-uactivity-f1472cb713f1f6d0e2200f7840effcf3fef88392.tar.gz
vdr-plugin-uactivity-f1472cb713f1f6d0e2200f7840effcf3fef88392.tar.bz2
added activity flag for watchdog call
-rw-r--r--run.c27
-rw-r--r--run.h7
-rw-r--r--script/uactivity/watchdog/-10-syslog_demo9
-rw-r--r--script/vdr-uactivity2
-rw-r--r--uactivity.c19
5 files changed, 40 insertions, 24 deletions
diff --git a/run.c b/run.c
index f1a5d65..3a34d31 100644
--- a/run.c
+++ b/run.c
@@ -21,6 +21,17 @@ const char *cRun::OrginToString(eOrgin Orgin)
return OrginStr;
}
+const char *cRun::ActivityStatusToString(bool Active)
+{
+ const char *ActivityStatusStr = "";
+ if (Active)
+ ActivityStatusStr = "true";
+ else
+ ActivityStatusStr = "false";
+
+ return ActivityStatusStr;
+}
+
void cRun::SetConfigDirectory(const char *Directory)
{
myConfigDirectory = strdup(Directory);
@@ -36,21 +47,15 @@ void cRun::SetResourceDirectory(const char *Directory)
myResourceDirectory = strdup(Directory);
}
-void cRun::Call(eOrgin Orgin, bool Active)
+void cRun::CallActivity(eOrgin Orgin, bool Active)
{
- const char *ActivityStatusStr = "";
- if (Active)
- ActivityStatusStr = "true";
- else
- ActivityStatusStr = "false";
-
char *buffer;
- asprintf(&buffer, UACTIVITY_COMMAND, "activity", OrginToString(Orgin), ActivityStatusStr, myConfigDirectory, myCacheDirectory, myResourceDirectory);
+ asprintf(&buffer, UACTIVITY_COMMAND, "activity", OrginToString(Orgin), ActivityStatusToString(Active), myConfigDirectory, myCacheDirectory, myResourceDirectory);
SystemExec(buffer, true);
free(buffer);
}
-void cRun::Call(eOrgin Orgin, eKeys Key)
+void cRun::CallKey(eOrgin Orgin, eKeys Key)
{
char *buffer;
asprintf(&buffer, UACTIVITY_COMMAND, "key", OrginToString(Orgin), myKey.ToString(Key), myConfigDirectory, myCacheDirectory, myResourceDirectory);
@@ -58,10 +63,10 @@ void cRun::Call(eOrgin Orgin, eKeys Key)
free(buffer);
}
-void cRun::Call(eOrgin Orgin)
+void cRun::CallWatchdog(eOrgin Orgin, bool Active)
{
char *buffer;
- asprintf(&buffer, UACTIVITY_COMMAND, "watchdog", OrginToString(Orgin), "none", myConfigDirectory, myCacheDirectory, myResourceDirectory);
+ asprintf(&buffer, UACTIVITY_COMMAND, "watchdog", OrginToString(Orgin), ActivityStatusToString(Active), myConfigDirectory, myCacheDirectory, myResourceDirectory);
SystemExec(buffer, true);
free(buffer);
}
diff --git a/run.h b/run.h
index 9366e65..410ef6a 100644
--- a/run.h
+++ b/run.h
@@ -12,15 +12,16 @@ private:
char *myResourceDirectory;
cKey myKey;
static const char *OrginToString(eOrgin Orgin);
+ static const char *ActivityStatusToString(bool Active);
public:
cRun() { };
~cRun();
void SetConfigDirectory(const char *Directory);
void SetCacheDirectory(const char *Directory);
void SetResourceDirectory(const char *Directory);
- void Call(eOrgin Orgin, bool Active);
- void Call(eOrgin Orgin, eKeys Key);
- void Call(eOrgin Orgin);
+ void CallActivity(eOrgin Orgin, bool Active);
+ void CallKey(eOrgin Orgin, eKeys Key);
+ void CallWatchdog(eOrgin Orgin, bool Active);
};
extern cRun Run;
diff --git a/script/uactivity/watchdog/-10-syslog_demo b/script/uactivity/watchdog/-10-syslog_demo
index 2880db7..af7249d 100644
--- a/script/uactivity/watchdog/-10-syslog_demo
+++ b/script/uactivity/watchdog/-10-syslog_demo
@@ -3,18 +3,27 @@
case "${1}" in
startup)
logger -t "uactivity [watchdog/$(basename ${0})]" "watchdog starting up"
+ [ "${2}" = "true" ] \
+ && logger -t "uactivity [watchdog/$(basename ${0})]" "status \"user active\"" \
+ || logger -t "uactivity [watchdog/$(basename ${0})]" "status \"user inactive\""
logger -t "uactivity [watchdog/$(basename ${0})]" "ConfigDirectory: ${3}"
logger -t "uactivity [watchdog/$(basename ${0})]" "CacheDirectory: ${4}"
logger -t "uactivity [watchdog/$(basename ${0})]" "ResourceDirectory: ${5}"
;;
shutdown)
logger -t "uactivity [watchdog/$(basename ${0})]" "watchdog shutting down"
+ [ "${2}" = "true" ] \
+ && logger -t "uactivity [watchdog/$(basename ${0})]" "status \"user active\"" \
+ || logger -t "uactivity [watchdog/$(basename ${0})]" "status \"user inactive\""
logger -t "uactivity [watchdog/$(basename ${0})]" "ConfigDirectory: ${3}"
logger -t "uactivity [watchdog/$(basename ${0})]" "CacheDirectory: ${4}"
logger -t "uactivity [watchdog/$(basename ${0})]" "ResourceDirectory: ${5}"
;;
running)
logger -t "uactivity [watchdog/$(basename ${0})]" "watchdog triggered"
+ [ "${2}" = "true" ] \
+ && logger -t "uactivity [watchdog/$(basename ${0})]" "status \"user active\"" \
+ || logger -t "uactivity [watchdog/$(basename ${0})]" "status \"user inactive\""
logger -t "uactivity [watchdog/$(basename ${0})]" "ConfigDirectory: ${3}"
logger -t "uactivity [watchdog/$(basename ${0})]" "CacheDirectory: ${4}"
logger -t "uactivity [watchdog/$(basename ${0})]" "ResourceDirectory: ${5}"
diff --git a/script/vdr-uactivity b/script/vdr-uactivity
index ee3b3c8..647ca76 100644
--- a/script/vdr-uactivity
+++ b/script/vdr-uactivity
@@ -43,7 +43,7 @@ case "${PARAM_REASON}" in
|| commandline="${PARAM_ORGIN} ''"
;;
watchdog)
- commandline="${PARAM_ORGIN} ''"
+ commandline="${PARAM_ORGIN} ${PARAM_VALUE}"
;;
esac
diff --git a/uactivity.c b/uactivity.c
index bc36266..d209d69 100644
--- a/uactivity.c
+++ b/uactivity.c
@@ -55,7 +55,7 @@ protected:
eOSState state = cOsdMenu::ProcessKey(Key);
if (state == osUnknown)
if ((Key >= kUp) && (Key < kNone)) {
- Run.Call(oRunning, Key);
+ Run.CallKey(oRunning, Key);
return osEnd;
}
return state;
@@ -116,14 +116,14 @@ bool cPluginUactivity::Start(void)
Run.SetResourceDirectory(ConfigDirectory(PLUGIN_NAME_I18N));
#endif
- Run.Call(oStartUp, k_Setup);
+ Run.CallKey(oStartUp, k_Setup);
bool ActivityStatus = !ShutdownHandler.IsUserInactive();
LastActivity = ActivityStatus;
- Run.Call(oStartUp, ActivityStatus);
+ Run.CallActivity(oStartUp, ActivityStatus);
time(&LastTime);
- if (WatchdogTimer > 0) Run.Call(oStartUp);
+ if (WatchdogTimer > 0) Run.CallWatchdog(oStartUp, ActivityStatus);
return true;
}
@@ -131,9 +131,10 @@ bool cPluginUactivity::Start(void)
void cPluginUactivity::Stop(void)
{
// Stop any background activities the plugin is performing.
- Run.Call(oShutDown, k_Setup);
- Run.Call(oShutDown, !ShutdownHandler.IsUserInactive());
- Run.Call(oShutDown);
+ bool ActivityStatus = !ShutdownHandler.IsUserInactive();
+ Run.CallKey(oShutDown, k_Setup);
+ Run.CallActivity(oShutDown, ActivityStatus);
+ Run.CallWatchdog(oShutDown, ActivityStatus);
}
void cPluginUactivity::MainThreadHook(void)
@@ -143,7 +144,7 @@ void cPluginUactivity::MainThreadHook(void)
bool ActivityStatus = !ShutdownHandler.IsUserInactive();
if (ActivityStatus != LastActivity) {
LastActivity = ActivityStatus;
- Run.Call(oRunning, ActivityStatus);
+ Run.CallActivity(oRunning, ActivityStatus);
}
if (WatchdogTimer > 0) {
@@ -151,7 +152,7 @@ void cPluginUactivity::MainThreadHook(void)
time(&Seconds);
if (difftime(Seconds, LastTime) >= WatchdogTimer) {
time(&LastTime);
- Run.Call(oRunning);
+ Run.CallWatchdog(oRunning, ActivityStatus);
}
}
}