vdr 2.6.9
status.c
Go to the documentation of this file.
1/*
2 * status.c: Status monitoring
3 *
4 * See the main source file 'vdr.c' for copyright information and
5 * how to reach the author.
6 *
7 * $Id: status.c 4.1 2018/01/29 13:36:53 kls Exp $
8 */
9
10#include "status.h"
11
12// --- cStatus ---------------------------------------------------------------
13
15
17{
18 statusMonitors.Add(this);
19}
20
22{
23 statusMonitors.Del(this, false);
24}
25
27{
28 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
29 sm->ChannelChange(Channel);
30}
31
33{
34 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
35 sm->TimerChange(Timer, Change);
36}
37
38void cStatus::MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
39{
40 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
41 sm->ChannelSwitch(Device, ChannelNumber, LiveView);
42}
43
44void cStatus::MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
45{
46 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
47 sm->Recording(Device, Name, FileName, On);
48}
49
50void cStatus::MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On)
51{
52 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
53 sm->Replaying(Control, Name, FileName, On);
54}
55
57{
58 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
59 sm->MarksModified(Marks);
60}
61
62void cStatus::MsgSetVolume(int Volume, bool Absolute)
63{
64 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
65 sm->SetVolume(Volume, Absolute);
66}
67
68void cStatus::MsgSetAudioTrack(int Index, const char * const *Tracks)
69{
70 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
71 sm->SetAudioTrack(Index, Tracks);
72}
73
74void cStatus::MsgSetAudioChannel(int AudioChannel)
75{
76 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
77 sm->SetAudioChannel(AudioChannel);
78}
79
80void cStatus::MsgSetSubtitleTrack(int Index, const char * const *Tracks)
81{
82 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
83 sm->SetSubtitleTrack(Index, Tracks);
84}
85
87{
88 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
89 sm->OsdClear();
90}
91
92void cStatus::MsgOsdTitle(const char *Title)
93{
94 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
95 sm->OsdTitle(Title);
96}
97
98void cStatus::MsgOsdStatusMessage(const char *Message)
99{
100 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
101 sm->OsdStatusMessage(Message);
102}
103
104void cStatus::MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue)
105{
106 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
107 sm->OsdHelpKeys(Red, Green, Yellow, Blue);
108}
109
110void cStatus::MsgOsdItem(const char *Text, int Index)
111{
112 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
113 sm->OsdItem(Text, Index);
114}
115
116void cStatus::MsgOsdCurrentItem(const char *Text)
117{
118 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
119 sm->OsdCurrentItem(Text);
120}
121
122void cStatus::MsgOsdTextItem(const char *Text, bool Scroll)
123{
124 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
125 sm->OsdTextItem(Text, Scroll);
126}
127
128void cStatus::MsgOsdChannel(const char *Text)
129{
130 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
131 sm->OsdChannel(Text);
132}
133
134void cStatus::MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle)
135{
136 for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
137 sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
138}
void Del(cListObject *Object, bool DeleteObject=true)
Definition tools.c:2251
void Add(cListObject *Object, cListObject *After=NULL)
Definition tools.c:2219
int Index(void) const
Definition tools.c:2139
Definition tools.h:644
const T * First(void) const
Returns the first element in this list, or NULL if the list is empty.
Definition tools.h:656
const T * Next(const T *Object) const
< Returns the element immediately before Object in this list, or NULL if Object is the first element ...
Definition tools.h:663
static void MsgMarksModified(const cMarks *Marks)
Definition status.c:56
static void MsgOsdTitle(const char *Title)
Definition status.c:92
static void MsgOsdChannel(const char *Text)
Definition status.c:128
cStatus(void)
Definition status.c:16
static void MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue)
Definition status.c:104
static void MsgSetAudioChannel(int AudioChannel)
Definition status.c:74
static void MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle)
Definition status.c:134
virtual ~cStatus()
Definition status.c:21
static void MsgOsdStatusMessage(const char *Message)
Definition status.c:98
static void MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On)
Definition status.c:50
static void MsgSetVolume(int Volume, bool Absolute)
Definition status.c:62
static void MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
Definition status.c:44
static void MsgOsdItem(const char *Text, int Index)
Definition status.c:110
static cList< cStatus > statusMonitors
Definition status.h:37
static void MsgOsdClear(void)
Definition status.c:86
static void MsgOsdCurrentItem(const char *Text)
Definition status.c:116
static void MsgChannelChange(const cChannel *Channel)
Definition status.c:26
static void MsgSetAudioTrack(int Index, const char *const *Tracks)
Definition status.c:68
static void MsgTimerChange(const cTimer *Timer, eTimerChange Change)
Definition status.c:32
static void MsgOsdTextItem(const char *Text, bool Scroll=false)
Definition status.c:122
static void MsgSetSubtitleTrack(int Index, const char *const *Tracks)
Definition status.c:80
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
Definition status.c:38
eTimerChange
Definition status.h:31