vdr-1.4.7/status.c

Go to the documentation of this file.
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 1.8 2005/12/31 15:10:10 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::MsgChannelSwitch(const cDevice *Device, int ChannelNumber)
00027 {
00028   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00029       sm->ChannelSwitch(Device, ChannelNumber);
00030 }
00031 
00032 void cStatus::MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
00033 {
00034   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00035       sm->Recording(Device, Name, FileName, On);
00036 }
00037 
00038 void cStatus::MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On)
00039 {
00040   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00041       sm->Replaying(Control, Name, FileName, On);
00042 }
00043 
00044 void cStatus::MsgSetVolume(int Volume, bool Absolute)
00045 {
00046   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00047       sm->SetVolume(Volume, Absolute);
00048 }
00049 
00050 void cStatus::MsgSetAudioTrack(int Index, const char * const *Tracks)
00051 {
00052   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00053       sm->SetAudioTrack(Index, Tracks);
00054 }
00055 
00056 void cStatus::MsgSetAudioChannel(int AudioChannel)
00057 {
00058   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00059       sm->SetAudioChannel(AudioChannel);
00060 }
00061 
00062 void cStatus::MsgOsdClear(void)
00063 {
00064   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00065       sm->OsdClear();
00066 }
00067 
00068 void cStatus::MsgOsdTitle(const char *Title)
00069 {
00070   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00071       sm->OsdTitle(Title);
00072 }
00073 
00074 void cStatus::MsgOsdStatusMessage(const char *Message)
00075 {
00076   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00077       sm->OsdStatusMessage(Message);
00078 }
00079 
00080 void cStatus::MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue)
00081 {
00082   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00083       sm->OsdHelpKeys(Red, Green, Yellow, Blue);
00084 }
00085 
00086 void cStatus::MsgOsdItem(const char *Text, int Index)
00087 {
00088   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00089       sm->OsdItem(Text, Index);
00090 }
00091 
00092 void cStatus::MsgOsdCurrentItem(const char *Text)
00093 {
00094   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00095       sm->OsdCurrentItem(Text);
00096 }
00097 
00098 void cStatus::MsgOsdTextItem(const char *Text, bool Scroll)
00099 {
00100   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00101       sm->OsdTextItem(Text, Scroll);
00102 }
00103 
00104 void cStatus::MsgOsdChannel(const char *Text)
00105 {
00106   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00107       sm->OsdChannel(Text);
00108 }
00109 
00110 void cStatus::MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle)
00111 {
00112   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
00113       sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
00114 }

Generated on Tue Nov 6 19:57:55 2007 for VDR by  doxygen 1.5.3-20071008