vdr 2.6.8
|
Go to the source code of this file.
Classes | |
class | cTimer |
class | cTimers |
class | cSortedTimers |
Macros | |
#define | LOCK_TIMERS_READ USE_LIST_LOCK_READ(Timers) |
#define | LOCK_TIMERS_WRITE USE_LIST_LOCK_WRITE(Timers) |
Enumerations | |
enum | eTimerFlags { tfNone = 0x0000 , tfActive = 0x0001 , tfInstant = 0x0002 , tfVps = 0x0004 , tfRecording = 0x0008 , tfSpawned = 0x0010 , tfAvoid = 0x0020 , tfAll = 0xFFFF } |
enum | eTimerMatch { tmNone , tmPartial , tmFull } |
Functions | |
bool | HandleRemoteTimerModifications (cTimer *NewTimer, cTimer *OldTimer=NULL, cString *Msg=NULL) |
DEF_LIST_LOCK (Timers) | |
#define LOCK_TIMERS_READ USE_LIST_LOCK_READ(Timers) |
Definition at line 246 of file timers.h.
Referenced by cSVDRPServer::CmdDELC(), cSVDRPServer::CmdLSTT(), cSVDRPServer::CmdMOVC(), cSVDRPServer::CmdNEXT(), cMenuSchedule::cMenuSchedule(), cShutdownHandler::ConfirmRestart(), cShutdownHandler::ConfirmShutdown(), cMenuChannels::Delete(), cShutdownHandler::DoShutdown(), cMenuTimers::Info(), cMenuSchedule::Number(), cMenuSchedule::ProcessKey(), cMenuTimers::ProcessKey(), and cMenuWhatsOn::ProcessKey().
#define LOCK_TIMERS_WRITE USE_LIST_LOCK_WRITE(Timers) |
Definition at line 247 of file timers.h.
Referenced by cSVDRPServer::CmdCLRE(), cSVDRPServer::CmdDELT(), cSVDRPServer::CmdMODT(), cSVDRPServer::CmdNEWT(), cSVDRPServer::CmdUPDT(), cTimers::Load(), cMenuEditTimer::ProcessKey(), cMenuSetupMisc::ProcessKey(), cMenuSchedule::Record(), cMenuWhatsOn::Record(), cRecordControls::Start(), cRecordControls::Stop(), cReplayControl::Stop(), and TimerStillRecording().
enum eTimerFlags |
enum eTimerMatch |
DEF_LIST_LOCK | ( | Timers | ) |
bool HandleRemoteTimerModifications | ( | cTimer * | NewTimer, |
cTimer * | OldTimer = NULL, | ||
cString * | Msg = NULL ) |
Performs any operations necessary to synchronize changes to a timer between peer VDR machines.
OldTimer must point to the old version of the timer, while NewTimer points to the new version. If either of the two is a remote timer, the necessary SVDRP commands are executed to reflect the changes on the remote machine(s). If NewTimer is NULL, OldTimer will be removed from the remote machine (if applicable). If OldTimer is NULL, NewTimer will be added to the remote machine (if applicable). If anything goes wrong, an error message is generated in the optional Msg string, which should be presented to the user. Any necessary local operations (like adding/deleting the timer to the local list of timers etc.) must be done before and/or after the call to this function. Proper log messages will be generated by this function, even if no remote operations are required. Returns true if successful.
Definition at line 1414 of file timers.c.
References cTimer::ClrFlags(), ExecSVDRPCommand(), cTimer::Id(), isyslog, cTimer::Local(), cTimers::NewTimerId(), cTimer::Remote(), RemoteTimerError(), cTimer::SetId(), cString::sprintf(), SVDRPCode(), SVDRPValue(), tfRecording, cTimer::ToDescr(), and cTimer::ToText().
Referenced by HandleRemoteModifications(), and cTimer::SpawnPatternTimer().