vdr  2.4.0
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 
26 void cStatus::MsgChannelChange(const cChannel *Channel)
27 {
28  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
29  sm->ChannelChange(Channel);
30 }
31 
32 void cStatus::MsgTimerChange(const cTimer *Timer, eTimerChange Change)
33 {
34  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
35  sm->TimerChange(Timer, Change);
36 }
37 
38 void 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 
44 void 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 
50 void 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 
62 void 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 
68 void 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 
74 void cStatus::MsgSetAudioChannel(int AudioChannel)
75 {
76  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
77  sm->SetAudioChannel(AudioChannel);
78 }
79 
80 void 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 
92 void cStatus::MsgOsdTitle(const char *Title)
93 {
94  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
95  sm->OsdTitle(Title);
96 }
97 
98 void cStatus::MsgOsdStatusMessage(const char *Message)
99 {
100  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
101  sm->OsdStatusMessage(Message);
102 }
103 
104 void 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 
110 void 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 
116 void cStatus::MsgOsdCurrentItem(const char *Text)
117 {
118  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
119  sm->OsdCurrentItem(Text);
120 }
121 
122 void 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 
128 void cStatus::MsgOsdChannel(const char *Text)
129 {
130  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
131  sm->OsdChannel(Text);
132 }
133 
134 void 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 }
static void MsgOsdCurrentItem(const char *Text)
Definition: status.c:116
void Add(cListObject *Object, cListObject *After=NULL)
Definition: tools.c:2152
Definition: status.h:35
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
Definition: timers.h:27
static void MsgOsdStatusMessage(const char *Message)
Definition: status.c:98
static void MsgOsdTitle(const char *Title)
Definition: status.c:92
static void MsgSetAudioChannel(int AudioChannel)
Definition: status.c:74
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:613
virtual ~cStatus()
Definition: status.c:21
static void MsgOsdTextItem(const char *Text, bool Scroll=false)
Definition: status.c:122
static void MsgSetAudioTrack(int Index, const char *const *Tracks)
Definition: status.c:68
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
static void MsgOsdChannel(const char *Text)
Definition: status.c:128
static void MsgSetSubtitleTrack(int Index, const char *const *Tracks)
Definition: status.c:80
void Del(cListObject *Object, bool DeleteObject=true)
Definition: tools.c:2184
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
Definition: status.c:38
static void MsgOsdClear(void)
Definition: status.c:86
static void MsgTimerChange(const cTimer *Timer, eTimerChange Change)
Definition: status.c:32
static void MsgMarksModified(const cMarks *Marks)
Definition: status.c:56
static void MsgSetVolume(int Volume, bool Absolute)
Definition: status.c:62
static cList< cStatus > statusMonitors
Definition: status.h:37
eTimerChange
Definition: status.h:31
static void MsgChannelChange(const cChannel *Channel)
Definition: status.c:26
const T * First(void) const
Returns the first element in this list, or NULL if the list is empty.
Definition: tools.h:606
static void MsgOsdItem(const char *Text, int Index)
Definition: status.c:110
static void MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On)
Definition: status.c:44
static void MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On)
Definition: status.c:50