vdr  2.4.1
Public Member Functions | Public Attributes | Private Attributes | List of all members
cShutdownHandler Class Reference

#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
 

Detailed Description

Definition at line 38 of file shutdown.h.

Constructor & Destructor Documentation

◆ cShutdownHandler()

cShutdownHandler::cShutdownHandler ( void  )

Definition at line 79 of file shutdown.c.

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

◆ ~cShutdownHandler()

cShutdownHandler::~cShutdownHandler ( )

Definition at line 88 of file shutdown.c.

References shutdownCommand.

Member Function Documentation

◆ CallShutdownCommand()

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

◆ CheckManualStart()

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

◆ ConfirmRestart()

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

◆ ConfirmShutdown()

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

◆ DoShutdown()

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

◆ RequestEmergencyExit()

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

◆ SetShutdownCommand()

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

◆ SetUserInactiveTimeout()

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

Member Data Documentation

◆ activeTimeout

time_t cShutdownHandler::activeTimeout
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().

◆ countdown

cCountdown cShutdownHandler::countdown

Definition at line 51 of file shutdown.h.

Referenced by main().

◆ emergencyExitRequested

bool cShutdownHandler::emergencyExitRequested
private

The requested exit is an emergency exit.

Definition at line 48 of file shutdown.h.

Referenced by cShutdownHandler(), and RequestEmergencyExit().

◆ exitCode

int cShutdownHandler::exitCode
private

Exit code, if VDR exit was requested, or -1 if not requested.

Definition at line 46 of file shutdown.h.

Referenced by cShutdownHandler().

◆ retry

time_t cShutdownHandler::retry
private

Time for retrying the shutdown.

Definition at line 42 of file shutdown.h.

Referenced by cShutdownHandler().

◆ shutdownCommand

char* cShutdownHandler::shutdownCommand
private

Command for shutting down VDR.

Definition at line 44 of file shutdown.h.

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


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