summaryrefslogtreecommitdiff
path: root/menu.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2015-09-01 11:14:27 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2015-09-01 11:14:27 +0200
commit3cd5294d8a337ee5cd2ec894c9fbe04ad3a7690d (patch)
treeda57ce74189de9bfb27e1a747063c37cd62de501 /menu.h
parent8a7bc6a0bbf60cae8b6391a630880aad5cba3363 (diff)
downloadvdr-3cd5294d8a337ee5cd2ec894c9fbe04ad3a7690d.tar.gz
vdr-3cd5294d8a337ee5cd2ec894c9fbe04ad3a7690d.tar.bz2
Implemented strict locking of global lists
Diffstat (limited to 'menu.h')
-rw-r--r--menu.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/menu.h b/menu.h
index fad27afa..d4855edc 100644
--- a/menu.h
+++ b/menu.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.h 3.8 2015/02/06 09:47:30 kls Exp $
+ * $Id: menu.h 4.1 2015/08/31 13:34:12 kls Exp $
*/
#ifndef __MENU_H
@@ -72,6 +72,7 @@ public:
class cMenuEditTimer : public cOsdMenu {
private:
+ static const cTimer *addedTimer;
cTimer *timer;
cTimer data;
int channel;
@@ -86,13 +87,14 @@ public:
cMenuEditTimer(cTimer *Timer, bool New = false);
virtual ~cMenuEditTimer();
virtual eOSState ProcessKey(eKeys Key);
+ static const cTimer *AddedTimer(void);
};
class cMenuEvent : public cOsdMenu {
private:
const cEvent *event;
public:
- cMenuEvent(const cEvent *Event, bool CanSwitch = false, bool Buttons = false);
+ cMenuEvent(const cTimers *Timers, const cChannels *Channels, const cEvent *Event, bool CanSwitch = false, bool Buttons = false);
virtual void Display(void);
virtual eOSState ProcessKey(eKeys Key);
};
@@ -123,14 +125,14 @@ private:
bool timeout;
int osdState;
const cPositioner *positioner;
- cChannel *channel;
+ const cChannel *channel;
const cEvent *lastPresent;
const cEvent *lastFollowing;
static cDisplayChannel *currentDisplayChannel;
void DisplayChannel(void);
void DisplayInfo(void);
void Refresh(void);
- cChannel *NextAvailableChannel(cChannel *Channel, int Direction);
+ const cChannel *NextAvailableChannel(const cChannel *Channel, int Direction);
public:
cDisplayChannel(int Number, bool Switched);
cDisplayChannel(eKeys FirstKey);
@@ -205,7 +207,7 @@ class cMenuRecordings : public cOsdMenu {
private:
char *base;
int level;
- int recordingsState;
+ cStateKey recordingsStateKey;
int helpKeys;
const cRecordingFilter *filter;
static cString path;
@@ -239,7 +241,7 @@ private:
char *fileName;
bool GetEvent(void);
public:
- cRecordControl(cDevice *Device, cTimer *Timer = NULL, bool Pause = false);
+ cRecordControl(cDevice *Device, cTimers *Timers, cTimer *Timer = NULL, bool Pause = false);
virtual ~cRecordControl();
bool Process(time_t t);
cDevice *Device(void) { return device; }
@@ -254,7 +256,8 @@ private:
static cRecordControl *RecordControls[];
static int state;
public:
- static bool Start(cTimer *Timer = NULL, bool Pause = false);
+ static bool Start(cTimers *Timers, cTimer *Timer, bool Pause = false);
+ static bool Start(bool Pause = false);
static void Stop(const char *InstantId);
static bool PauseLiveVideo(void);
static const char *GetInstantId(const char *LastInstantId);
@@ -262,8 +265,8 @@ public:
static cRecordControl *GetRecordControl(const cTimer *Timer);
///< Returns the cRecordControl for the given Timer.
///< If there is no cRecordControl for Timer, NULL is returned.
- static void Process(time_t t);
- static void ChannelDataModified(cChannel *Channel);
+ static bool Process(cTimers *Timers, time_t t);
+ static void ChannelDataModified(const cChannel *Channel);
static bool Active(void);
static void Shutdown(void);
static void ChangeState(void) { state++; }