vdr
1.7.27
|
00001 /* 00002 * status.c: Status monitoring 00003 * 00004 * See the main source file 'vdr.c' for copyright information and 00005 * how to reach the author. 00006 * 00007 * $Id: status.c 2.1 2012/03/07 14:17:24 kls Exp $ 00008 */ 00009 00010 #include "status.h" 00011 00012 // --- cStatus --------------------------------------------------------------- 00013 00014 cList<cStatus> cStatus::statusMonitors; 00015 00016 cStatus::cStatus(void) 00017 { 00018 statusMonitors.Add(this); 00019 } 00020 00021 cStatus::~cStatus() 00022 { 00023 statusMonitors.Del(this, false); 00024 } 00025 00026 void cStatus::MsgTimerChange(const cTimer *Timer, eTimerChange Change) 00027 { 00028 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00029 sm->TimerChange(Timer, Change); 00030 } 00031 00032 void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView) 00033 { 00034 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00035 sm->ChannelSwitch(Device, ChannelNumber, LiveView); 00036 } 00037 00038 void cStatus::MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On) 00039 { 00040 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00041 sm->Recording(Device, Name, FileName, On); 00042 } 00043 00044 void cStatus::MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On) 00045 { 00046 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00047 sm->Replaying(Control, Name, FileName, On); 00048 } 00049 00050 void cStatus::MsgSetVolume(int Volume, bool Absolute) 00051 { 00052 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00053 sm->SetVolume(Volume, Absolute); 00054 } 00055 00056 void cStatus::MsgSetAudioTrack(int Index, const char * const *Tracks) 00057 { 00058 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00059 sm->SetAudioTrack(Index, Tracks); 00060 } 00061 00062 void cStatus::MsgSetAudioChannel(int AudioChannel) 00063 { 00064 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00065 sm->SetAudioChannel(AudioChannel); 00066 } 00067 00068 void cStatus::MsgSetSubtitleTrack(int Index, const char * const *Tracks) 00069 { 00070 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00071 sm->SetSubtitleTrack(Index, Tracks); 00072 } 00073 00074 void cStatus::MsgOsdClear(void) 00075 { 00076 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00077 sm->OsdClear(); 00078 } 00079 00080 void cStatus::MsgOsdTitle(const char *Title) 00081 { 00082 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00083 sm->OsdTitle(Title); 00084 } 00085 00086 void cStatus::MsgOsdStatusMessage(const char *Message) 00087 { 00088 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00089 sm->OsdStatusMessage(Message); 00090 } 00091 00092 void cStatus::MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue) 00093 { 00094 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00095 sm->OsdHelpKeys(Red, Green, Yellow, Blue); 00096 } 00097 00098 void cStatus::MsgOsdItem(const char *Text, int Index) 00099 { 00100 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00101 sm->OsdItem(Text, Index); 00102 } 00103 00104 void cStatus::MsgOsdCurrentItem(const char *Text) 00105 { 00106 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00107 sm->OsdCurrentItem(Text); 00108 } 00109 00110 void cStatus::MsgOsdTextItem(const char *Text, bool Scroll) 00111 { 00112 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00113 sm->OsdTextItem(Text, Scroll); 00114 } 00115 00116 void cStatus::MsgOsdChannel(const char *Text) 00117 { 00118 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00119 sm->OsdChannel(Text); 00120 } 00121 00122 void cStatus::MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) 00123 { 00124 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) 00125 sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle); 00126 }