mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Implemented automatic shutdown
This commit is contained in:
11
interface.c
11
interface.c
@@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: interface.c 1.41 2001/08/25 13:15:00 kls Exp $
|
||||
* $Id: interface.c 1.42 2001/09/01 07:30:37 kls Exp $
|
||||
*/
|
||||
|
||||
#include "interface.h"
|
||||
@@ -20,6 +20,7 @@ cInterface::cInterface(int SVDRPport)
|
||||
cols[0] = 0;
|
||||
width = height = 0;
|
||||
keyFromWait = kNone;
|
||||
interrupted = false;
|
||||
rcIo = NULL;
|
||||
SVDRP = NULL;
|
||||
#if defined(REMOTE_RCU)
|
||||
@@ -110,11 +111,12 @@ eKeys cInterface::Wait(int Seconds, bool KeepChar)
|
||||
time_t timeout = time(NULL) + Seconds;
|
||||
for (;;) {
|
||||
Key = GetKey();
|
||||
if ((Key != kNone && (RAWKEY(Key) != kOk || RAWKEY(Key) == Key)) || time(NULL) > timeout)
|
||||
if ((Key != kNone && (RAWKEY(Key) != kOk || RAWKEY(Key) == Key)) || time(NULL) > timeout || interrupted)
|
||||
break;
|
||||
}
|
||||
if (KeepChar && ISRAWKEY(Key))
|
||||
keyFromWait = Key;
|
||||
interrupted = false;
|
||||
return Key;
|
||||
}
|
||||
|
||||
@@ -312,12 +314,13 @@ void cInterface::Error(const char *s)
|
||||
Close();
|
||||
}
|
||||
|
||||
bool cInterface::Confirm(const char *s)
|
||||
bool cInterface::Confirm(const char *s, int Seconds, bool WaitForTimeout)
|
||||
{
|
||||
Open();
|
||||
isyslog(LOG_INFO, "confirm: %s", s);
|
||||
Status(s, clrBlack, clrYellow);
|
||||
bool result = Wait(10) == kOk;
|
||||
eKeys k = Wait(Seconds);
|
||||
bool result = WaitForTimeout ? k == kNone : k == kOk;
|
||||
Status(NULL);
|
||||
Close();
|
||||
isyslog(LOG_INFO, "%sconfirmed", result ? "" : "not ");
|
||||
|
Reference in New Issue
Block a user