vdr
2.4.1
|
#include <shutdown.h>
Public Member Functions | |
cShutdownHandler (void) | |
~cShutdownHandler () | |
void | RequestEmergencyExit (void) |
void | CheckManualStart (int ManualStart) |
void | SetShutdownCommand (const char *ShutdownCommand) |
void | CallShutdownCommand (time_t WakeupTime, int Channel, const char *File, bool UserShutdown) |
void | SetUserInactiveTimeout (int Seconds=-1, bool Force=false) |
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 shutdown.h.
cShutdownHandler::cShutdownHandler | ( | void | ) |
Definition at line 79 of file shutdown.c.
References activeTimeout, emergencyExitRequested, exitCode, retry, and shutdownCommand.
cShutdownHandler::~cShutdownHandler | ( | ) |
Definition at line 88 of file shutdown.c.
References shutdownCommand.
void cShutdownHandler::CallShutdownCommand | ( | time_t | WakeupTime, |
int | Channel, | ||
const char * | File, | ||
bool | UserShutdown | ||
) |
Call the shutdown command with the given parameters.
Definition at line 127 of file shutdown.c.
References esyslog, isyslog, cSetup::NextWakeupTime, cSetup::Save(), Setup, shutdownCommand, cString::sprintf(), strescape(), and SystemExec().
Referenced by DoShutdown().
void cShutdownHandler::CheckManualStart | ( | int | ManualStart | ) |
Check whether the next timer is in ManualStart time window.
If yes, assume non-interactive use.
Definition at line 104 of file shutdown.c.
References dsyslog, cSetup::NextWakeupTime, Setup, and SetUserInactiveTimeout().
Referenced by main().
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 209 of file shutdown.c.
References cPluginManager::Active(), cThread::Active(), cRecordControls::Active(), cInterface::Confirm(), Interface, LOCK_TIMERS_READ, RecordingsHandler, cTimer::StartTime(), and tr.
Referenced by main(), and cMenuSetup::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.
Definition at line 157 of file shutdown.c.
References cPluginManager::Active(), cThread::Active(), cRecordControls::Active(), cInterface::Confirm(), cRemote::Enabled(), cPluginManager::GetNextWakeupPlugin(), Interface, LOCK_TIMERS_READ, cSkins::Message(), cSetup::MinEventTimeout, mtError, cPlugin::Name(), RecordingsHandler, Setup, shutdownCommand, Skins, cString::sprintf(), cTimer::StartTime(), tr, 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.
Definition at line 233 of file shutdown.c.
References CallShutdownCommand(), cTimer::Channel(), dsyslog, cTimer::File(), cPluginManager::GetNextWakeupPlugin(), LOCK_TIMERS_READ, cSetup::MinEventTimeout, cPlugin::Name(), cChannel::Number(), Setup, cTimer::StartTime(), TimeToString(), and cPlugin::WakeupTime().
Referenced by main().
void cShutdownHandler::RequestEmergencyExit | ( | void | ) |
Requests an emergency exit of the VDR main loop.
Definition at line 93 of file shutdown.c.
References dsyslog, cSetup::EmergencyExit, emergencyExitRequested, esyslog, and Setup.
Referenced by cRecorder::Action(), and cRecordControls::Start().
void cShutdownHandler::SetShutdownCommand | ( | const char * | ShutdownCommand | ) |
Set the command string for shutdown command.
Definition at line 121 of file shutdown.c.
References shutdownCommand.
Referenced by main().
void cShutdownHandler::SetUserInactiveTimeout | ( | int | Seconds = -1 , |
bool | Force = false |
||
) |
Set the time in the future when VDR will switch into non-interactive mode or power down.
Seconds >= 0 means that many seconds in the future. Seconds = -1 means Setup.MinUserInactivity in the future. Seconds = -2 means never. Seconds = -3 means a long, unknown time ago. Setup.MinUserInactivity = 0 will overrule this, unless Force = true is given. If Setup.MinUserInactivity = 0 and Force = false, Seconds is ignored and VDR will stay interactive forever (like Seconds = -2).
Definition at line 141 of file shutdown.c.
References activeTimeout, cSetup::MinUserInactivity, and Setup.
Referenced by CheckManualStart(), and main().
|
private |
Time when VDR will become non-interactive. 0 means never, 1 means unknown time ago.
Definition at line 40 of file shutdown.h.
Referenced by cShutdownHandler(), and SetUserInactiveTimeout().
cCountdown cShutdownHandler::countdown |
Definition at line 51 of file shutdown.h.
Referenced by main().
|
private |
The requested exit is an emergency exit.
Definition at line 48 of file shutdown.h.
Referenced by cShutdownHandler(), and RequestEmergencyExit().
|
private |
Exit code, if VDR exit was requested, or -1 if not requested.
Definition at line 46 of file shutdown.h.
Referenced by cShutdownHandler().
|
private |
Time for retrying the shutdown.
Definition at line 42 of file shutdown.h.
Referenced by cShutdownHandler().
|
private |
Command for shutting down VDR.
Definition at line 44 of file shutdown.h.
Referenced by CallShutdownCommand(), ConfirmShutdown(), cShutdownHandler(), SetShutdownCommand(), and ~cShutdownHandler().