diff options
| author | Keine_Ahnung <no@mail.com> | 2013-01-29 22:19:14 +0100 |
|---|---|---|
| committer | Keine_Ahnung <no@mail.com> | 2013-01-29 22:19:14 +0100 |
| commit | f1472cb713f1f6d0e2200f7840effcf3fef88392 (patch) | |
| tree | 6c94d2c536ba2cae951a23b90066ad4326eb2e12 | |
| parent | 573880e2e07794dbe799907e6a0fc6a7ede7b29b (diff) | |
| download | vdr-plugin-uactivity-f1472cb713f1f6d0e2200f7840effcf3fef88392.tar.gz vdr-plugin-uactivity-f1472cb713f1f6d0e2200f7840effcf3fef88392.tar.bz2 | |
added activity flag for watchdog call
| -rw-r--r-- | run.c | 27 | ||||
| -rw-r--r-- | run.h | 7 | ||||
| -rw-r--r-- | script/uactivity/watchdog/-10-syslog_demo | 9 | ||||
| -rw-r--r-- | script/vdr-uactivity | 2 | ||||
| -rw-r--r-- | uactivity.c | 19 |
5 files changed, 40 insertions, 24 deletions
@@ -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); } @@ -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); } } } |
