1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
/*
* status.c: Status monitoring
*
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: status.c 4.1 2018/01/29 13:36:53 kls Exp $
*/
#include "status.h"
// --- cStatus ---------------------------------------------------------------
cList<cStatus> cStatus::statusMonitors;
cStatus::cStatus(void)
{
statusMonitors.Add(this);
}
cStatus::~cStatus()
{
statusMonitors.Del(this, false);
}
void cStatus::MsgChannelChange(const cChannel *Channel)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->ChannelChange(Channel);
}
void cStatus::MsgTimerChange(const cTimer *Timer, eTimerChange Change)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->TimerChange(Timer, Change);
}
void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->ChannelSwitch(Device, ChannelNumber, LiveView);
}
void cStatus::MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->Recording(Device, Name, FileName, On);
}
void cStatus::MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->Replaying(Control, Name, FileName, On);
}
void cStatus::MsgMarksModified(const cMarks* Marks)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->MarksModified(Marks);
}
void cStatus::MsgSetVolume(int Volume, bool Absolute)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->SetVolume(Volume, Absolute);
}
void cStatus::MsgSetAudioTrack(int Index, const char * const *Tracks)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->SetAudioTrack(Index, Tracks);
}
void cStatus::MsgSetAudioChannel(int AudioChannel)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->SetAudioChannel(AudioChannel);
}
void cStatus::MsgSetSubtitleTrack(int Index, const char * const *Tracks)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->SetSubtitleTrack(Index, Tracks);
}
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::MsgOsdItem(const char *Text, int Index)
{
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->OsdItem(Text, Index);
}
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);
}
|