diff options
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/status.c b/status.c new file mode 100644 index 0000000..76dc840 --- /dev/null +++ b/status.c @@ -0,0 +1,96 @@ +/* + * status.c: Status monitoring + * + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * + * $Id: status.c 1.3 2002/06/16 13:24:36 kls Exp $ + */ + +#include "status.h" + +// --- cStatus --------------------------------------------------------------- + +cList<cStatus> cStatus::statusMonitors; + +cStatus::cStatus(void) +{ + statusMonitors.Add(this); +} + +cStatus::~cStatus() +{ + statusMonitors.Del(this, false); +} + +void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->ChannelSwitch(Device, ChannelNumber); +} + +void cStatus::MsgRecording(const cDevice *Device, const char *Name) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->Recording(Device, Name); +} + +void cStatus::MsgReplaying(const cDvbPlayerControl *DvbPlayerControl, const char *Name) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->Replaying(DvbPlayerControl, Name); +} + +void cStatus::MsgSetVolume(int Volume, bool Absolute) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->SetVolume(Volume, Absolute); +} + +void cStatus::MsgOsdClear(void) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdClear(); +} + +void cStatus::MsgOsdTitle(const char *Title) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdTitle(Title); +} + +void cStatus::MsgOsdStatusMessage(const char *Message) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdStatusMessage(Message); +} + +void cStatus::MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdHelpKeys(Red, Green, Yellow, Blue); +} + +void cStatus::MsgOsdCurrentItem(const char *Text) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdCurrentItem(Text); +} + +void cStatus::MsgOsdTextItem(const char *Text, bool Scroll) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdTextItem(Text, Scroll); +} + +void cStatus::MsgOsdChannel(const char *Text) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdChannel(Text); +} + +void cStatus::MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) +{ + for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) + sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle); +} |