vdr  1.7.27
Public Member Functions | Public Attributes | Private Attributes
cShutdownHandler Class Reference

#include <shutdown.h>

List of all members.

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

Detailed Description

Definition at line 38 of file include/vdr/shutdown.h.


Constructor & Destructor Documentation

Definition at line 83 of file shutdown.c.

References activeTimeout, emergencyExitRequested, exitCode, retry, and shutdownCommand.

Definition at line 92 of file shutdown.c.

References shutdownCommand.


Member Function Documentation

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.

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().

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.

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.

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().

bool cShutdownHandler::DoExit ( void  ) [inline]

Check if an exit code was set, and VDR should exit.

Definition at line 57 of file shutdown.h.

References exitCode.

bool cShutdownHandler::DoExit ( void  ) [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.

bool cShutdownHandler::EmergencyExitRequested ( void  ) [inline]

Returns true if an emergency exit was requested.

Definition at line 61 of file shutdown.h.

References emergencyExitRequested.

bool cShutdownHandler::EmergencyExitRequested ( void  ) [inline]

Returns true if an emergency exit was requested.

Definition at line 61 of file include/vdr/shutdown.h.

References emergencyExitRequested.

Referenced by main().

void cShutdownHandler::Exit ( int  ExitCode) [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().

void cShutdownHandler::Exit ( int  ExitCode) [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.

int cShutdownHandler::GetExitCode ( void  ) [inline]

Get the currently set exit code of VDR.

Definition at line 59 of file shutdown.h.

References exitCode.

int cShutdownHandler::GetExitCode ( void  ) [inline]

Get the currently set exit code of VDR.

Definition at line 59 of file include/vdr/shutdown.h.

References exitCode.

Referenced by main().

time_t cShutdownHandler::GetRetry ( void  ) [inline]

Time when shutdown retry block ends.

Definition at line 88 of file shutdown.h.

References retry.

time_t cShutdownHandler::GetRetry ( void  ) [inline]

Time when shutdown retry block ends.

Definition at line 88 of file include/vdr/shutdown.h.

References retry.

time_t cShutdownHandler::GetUserInactiveTime ( void  ) [inline]

Time when user will become non-inactive, or 0 if never.

Definition at line 75 of file include/vdr/shutdown.h.

References activeTimeout.

time_t cShutdownHandler::GetUserInactiveTime ( void  ) [inline]

Time when user will become non-inactive, or 0 if never.

Definition at line 75 of file shutdown.h.

References activeTimeout.

bool cShutdownHandler::IsUserInactive ( time_t  AtTime = 0) [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.

bool cShutdownHandler::IsUserInactive ( time_t  AtTime = 0) [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().

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().

Requests an emergency exit of the VDR main loop.

bool cShutdownHandler::Retry ( time_t  AtTime = 0) [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().

bool cShutdownHandler::Retry ( time_t  AtTime = 0) [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.

void cShutdownHandler::SetRetry ( int  Seconds) [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.

void cShutdownHandler::SetRetry ( int  Seconds) [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().

void cShutdownHandler::SetUserInactive ( void  ) [inline]

Set VDR manually into non-interactive mode.

Definition at line 83 of file shutdown.h.

References SetUserInactiveTimeout().

void cShutdownHandler::SetUserInactive ( void  ) [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().


Member Data Documentation

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().

Definition at line 51 of file include/vdr/shutdown.h.

Referenced by main().

The requested exit is an emergency exit.

Definition at line 49 of file include/vdr/shutdown.h.

Referenced by cShutdownHandler(), EmergencyExitRequested(), and RequestEmergencyExit().

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().

time_t cShutdownHandler::retry [private]

Time for retrying the shutdown.

Definition at line 43 of file include/vdr/shutdown.h.

Referenced by cShutdownHandler(), GetRetry(), Retry(), and SetRetry().

Command for shutting down VDR.

Definition at line 45 of file include/vdr/shutdown.h.

Referenced by CallShutdownCommand(), ConfirmShutdown(), cShutdownHandler(), SetShutdownCommand(), and ~cShutdownHandler().


The documentation for this class was generated from the following files: