vdr
1.7.31
|
#include <shutdown.h>
Public Member Functions | |
cShutdownHandler (void) | |
~cShutdownHandler () | |
void | Exit (int ExitCode) |
bool | DoExit (void) |
int | GetExitCode (void) |
bool | EmergencyExitRequested (void) |
void | RequestEmergencyExit (void) |
void | CheckManualStart (int ManualStart) |
void | SetShutdownCommand (const char *ShutdownCommand) |
void | CallShutdownCommand (time_t WakeupTime, int Channel, const char *File, bool UserShutdown) |
bool | IsUserInactive (time_t AtTime=0) |
time_t | GetUserInactiveTime (void) |
void | SetUserInactiveTimeout (int Seconds=-1, bool Force=false) |
void | SetUserInactive (void) |
bool | Retry (time_t AtTime=0) |
time_t | GetRetry (void) |
void | SetRetry (int Seconds) |
bool | ConfirmShutdown (bool Ask) |
bool | ConfirmRestart (bool Ask) |
bool | DoShutdown (bool Force) |
cShutdownHandler (void) | |
~cShutdownHandler () | |
void | Exit (int ExitCode) |
bool | DoExit (void) |
int | GetExitCode (void) |
bool | EmergencyExitRequested (void) |
void | RequestEmergencyExit (void) |
void | CheckManualStart (int ManualStart) |
void | SetShutdownCommand (const char *ShutdownCommand) |
void | CallShutdownCommand (time_t WakeupTime, int Channel, const char *File, bool UserShutdown) |
bool | IsUserInactive (time_t AtTime=0) |
time_t | GetUserInactiveTime (void) |
void | SetUserInactiveTimeout (int Seconds=-1, bool Force=false) |
void | SetUserInactive (void) |
bool | Retry (time_t AtTime=0) |
time_t | GetRetry (void) |
void | SetRetry (int Seconds) |
bool | ConfirmShutdown (bool Ask) |
bool | ConfirmRestart (bool Ask) |
bool | DoShutdown (bool Force) |
Public Attributes | |
cCountdown | countdown |
Private Attributes | |
time_t | activeTimeout |
time_t | retry |
char * | shutdownCommand |
int | exitCode |
bool | emergencyExitRequested |
Definition at line 38 of file include/vdr/shutdown.h.
cShutdownHandler::cShutdownHandler | ( | void | ) |
Definition at line 83 of file shutdown.c.
References activeTimeout, emergencyExitRequested, exitCode, retry, and shutdownCommand.
cShutdownHandler::~cShutdownHandler | ( | ) |
Definition at line 92 of file shutdown.c.
References shutdownCommand.
cShutdownHandler::cShutdownHandler | ( | void | ) |
cShutdownHandler::~cShutdownHandler | ( | ) |
void cShutdownHandler::CallShutdownCommand | ( | time_t | WakeupTime, |
int | Channel, | ||
const char * | File, | ||
bool | UserShutdown | ||
) |
Call the shutdown command with the given parameters.
Definition at line 131 of file shutdown.c.
References esyslog, isyslog, cSetup::NextWakeupTime, cSetup::Save(), Setup, shutdownCommand, cString::sprintf(), strescape(), and SystemExec().
Referenced by DoShutdown().
void cShutdownHandler::CallShutdownCommand | ( | time_t | WakeupTime, |
int | Channel, | ||
const char * | File, | ||
bool | UserShutdown | ||
) |
Call the shutdown command with the given parameters.
void cShutdownHandler::CheckManualStart | ( | int | ManualStart | ) |
Check whether the next timer is in ManualStart time window.
If yes, assume non-interactive use.
Definition at line 108 of file shutdown.c.
References dsyslog, cSetup::NextWakeupTime, Setup, SetUserInactive(), and SetUserInactiveTimeout().
Referenced by main().
void cShutdownHandler::CheckManualStart | ( | int | ManualStart | ) |
Check whether the next timer is in ManualStart time window.
If yes, assume non-interactive use.
bool cShutdownHandler::ConfirmRestart | ( | bool | Ask | ) |
Check for background activity that blocks restart.
Returns immediately and without user interaction if Ask = false. Asks for confirmation if Ask = true. Returns true if ready for restart.
Definition at line 211 of file shutdown.c.
References cFileTransfer::Active(), cCutter::Active(), cPluginManager::Active(), cRecordControls::Active(), cInterface::Confirm(), cTimers::GetNextActiveTimer(), Interface, cTimer::StartTime(), Timers, and tr.
Referenced by main(), and cMenuSetup::Restart().
bool cShutdownHandler::ConfirmRestart | ( | bool | Ask | ) |
Check for background activity that blocks restart.
Returns immediately and without user interaction if Ask = false. Asks for confirmation if Ask = true. Returns true if ready for restart.
bool cShutdownHandler::ConfirmShutdown | ( | bool | Ask | ) |
Check for background activity that blocks shutdown.
Returns immediately and without user interaction if Ask = false. Asks for confirmation if Ask = true. Returns true if ready for shutdown.
bool cShutdownHandler::ConfirmShutdown | ( | bool | Ask | ) |
Check for background activity that blocks shutdown.
Returns immediately and without user interaction if Ask = false. Asks for confirmation if Ask = true. Returns true if ready for shutdown.
Definition at line 156 of file shutdown.c.
References cFileTransfer::Active(), cCutter::Active(), cPluginManager::Active(), cRecordControls::Active(), cInterface::Confirm(), cRemote::Enabled(), cTimers::GetNextActiveTimer(), cPluginManager::GetNextWakeupPlugin(), Interface, cSkins::Message(), cSetup::MinEventTimeout, mtError, cPlugin::Name(), Setup, shutdownCommand, Skins, cString::sprintf(), cTimer::StartTime(), Timers, tr, and cPlugin::WakeupTime().
Referenced by main().
|
inline |
Check if an exit code was set, and VDR should exit.
Definition at line 57 of file shutdown.h.
References exitCode.
|
inline |
Check if an exit code was set, and VDR should exit.
Definition at line 57 of file include/vdr/shutdown.h.
References exitCode.
Referenced by main().
bool cShutdownHandler::DoShutdown | ( | bool | Force | ) |
Call the shutdown script with data of the next pending timer.
Fails if Force = false and a timer is running or within MinEventTimeout. Always calls shutdown on Force = true. Returns true on success.
Definition at line 238 of file shutdown.c.
References CallShutdownCommand(), cTimer::Channel(), dsyslog, cTimer::File(), cTimers::GetNextActiveTimer(), cPluginManager::GetNextWakeupPlugin(), cSetup::MinEventTimeout, cPlugin::Name(), cChannel::Number(), Setup, cTimer::StartTime(), Timers, TimeToString(), and cPlugin::WakeupTime().
Referenced by main().
bool cShutdownHandler::DoShutdown | ( | bool | Force | ) |
Call the shutdown script with data of the next pending timer.
Fails if Force = false and a timer is running or within MinEventTimeout. Always calls shutdown on Force = true. Returns true on success.
|
inline |
Returns true if an emergency exit was requested.
Definition at line 61 of file shutdown.h.
References emergencyExitRequested.
|
inline |
Returns true if an emergency exit was requested.
Definition at line 61 of file include/vdr/shutdown.h.
References emergencyExitRequested.
Referenced by main().
|
inline |
Set VDR exit code and initiate end of VDR main loop.
This will exit VDR without any confirmation.
Definition at line 54 of file include/vdr/shutdown.h.
References exitCode.
Referenced by RequestEmergencyExit(), cMenuSetup::Restart(), and SignalHandler().
|
inline |
Set VDR exit code and initiate end of VDR main loop.
This will exit VDR without any confirmation.
Definition at line 54 of file shutdown.h.
References exitCode.
|
inline |
Get the currently set exit code of VDR.
Definition at line 59 of file shutdown.h.
References exitCode.
|
inline |
Get the currently set exit code of VDR.
Definition at line 59 of file include/vdr/shutdown.h.
References exitCode.
Referenced by main().
|
inline |
|
inline |
Time when shutdown retry block ends.
Definition at line 88 of file include/vdr/shutdown.h.
References retry.
|
inline |
Time when user will become non-inactive, or 0 if never.
Definition at line 75 of file include/vdr/shutdown.h.
References activeTimeout.
|
inline |
Time when user will become non-inactive, or 0 if never.
Definition at line 75 of file shutdown.h.
References activeTimeout.
|
inline |
Check whether VDR is in interactive mode or non-interactive mode (waiting for shutdown).
AtTime checks whether VDR will probably be inactive at that time.
Definition at line 72 of file shutdown.h.
References activeTimeout.
|
inline |
Check whether VDR is in interactive mode or non-interactive mode (waiting for shutdown).
AtTime checks whether VDR will probably be inactive at that time.
Definition at line 72 of file include/vdr/shutdown.h.
References activeTimeout.
Referenced by main(), and cPluginDvbhddevice::MainThreadHook().
void cShutdownHandler::RequestEmergencyExit | ( | void | ) |
Requests an emergency exit of the VDR main loop.
Definition at line 97 of file shutdown.c.
References dsyslog, cSetup::EmergencyExit, emergencyExitRequested, esyslog, Exit(), and Setup.
Referenced by cRecorder::Action(), and cRecordControls::Start().
void cShutdownHandler::RequestEmergencyExit | ( | void | ) |
Requests an emergency exit of the VDR main loop.
|
inline |
Check whether its time to re-try the shutdown.
AtTime checks whether VDR will probably be inactive at that time.
Definition at line 85 of file include/vdr/shutdown.h.
References retry.
Referenced by main().
|
inline |
Check whether its time to re-try the shutdown.
AtTime checks whether VDR will probably be inactive at that time.
Definition at line 85 of file shutdown.h.
References retry.
|
inline |
Set shutdown retry so that VDR will not try to automatically shut down within Seconds.
Definition at line 90 of file shutdown.h.
References retry.
|
inline |
Set shutdown retry so that VDR will not try to automatically shut down within Seconds.
Definition at line 90 of file include/vdr/shutdown.h.
References retry.
Referenced by main().
void cShutdownHandler::SetShutdownCommand | ( | const char * | ShutdownCommand | ) |
Set the command string for shutdown command.
void cShutdownHandler::SetShutdownCommand | ( | const char * | ShutdownCommand | ) |
Set the command string for shutdown command.
Definition at line 125 of file shutdown.c.
References shutdownCommand.
Referenced by main().
|
inline |
Set VDR manually into non-interactive mode.
Definition at line 83 of file shutdown.h.
References SetUserInactiveTimeout().
|
inline |
Set VDR manually into non-interactive mode.
Definition at line 83 of file include/vdr/shutdown.h.
References SetUserInactiveTimeout().
Referenced by CheckManualStart(), and main().
void cShutdownHandler::SetUserInactiveTimeout | ( | int | Seconds = -1 , |
bool | Force = false |
||
) |
Set the time when VDR will switch into non-interactive mode or power down.
-1 means Setup.MinUserInactivity in the future. Otherwise, seconds in the future. If MinUserInactivity = 0 and Force = false, Seconds is ignored and VDR will stay interactive forever.
void cShutdownHandler::SetUserInactiveTimeout | ( | int | Seconds = -1 , |
bool | Force = false |
||
) |
Set the time when VDR will switch into non-interactive mode or power down.
-1 means Setup.MinUserInactivity in the future. Otherwise, seconds in the future. If MinUserInactivity = 0 and Force = false, Seconds is ignored and VDR will stay interactive forever.
Definition at line 145 of file shutdown.c.
References activeTimeout, cSetup::MinUserInactivity, and Setup.
Referenced by CheckManualStart(), main(), and SetUserInactive().
|
private |
Time when VDR will become non-interactive. 0 means never.
Definition at line 41 of file include/vdr/shutdown.h.
Referenced by cShutdownHandler(), GetUserInactiveTime(), IsUserInactive(), and SetUserInactiveTimeout().
cCountdown cShutdownHandler::countdown |
Definition at line 51 of file include/vdr/shutdown.h.
Referenced by main().
|
private |
The requested exit is an emergency exit.
Definition at line 49 of file include/vdr/shutdown.h.
Referenced by cShutdownHandler(), EmergencyExitRequested(), and RequestEmergencyExit().
|
private |
Exit code, if VDR exit was requested, or -1 if not requested.
Definition at line 47 of file include/vdr/shutdown.h.
Referenced by cShutdownHandler(), DoExit(), Exit(), and GetExitCode().
|
private |
Time for retrying the shutdown.
Definition at line 43 of file include/vdr/shutdown.h.
Referenced by cShutdownHandler(), GetRetry(), Retry(), and SetRetry().
|
private |
Command for shutting down VDR.
Definition at line 45 of file include/vdr/shutdown.h.
Referenced by CallShutdownCommand(), ConfirmShutdown(), cShutdownHandler(), SetShutdownCommand(), and ~cShutdownHandler().