summaryrefslogtreecommitdiff
path: root/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'status.c')
-rw-r--r--status.c96
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);
+}