diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2015-09-01 11:14:27 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2015-09-01 11:14:27 +0200 |
commit | 3cd5294d8a337ee5cd2ec894c9fbe04ad3a7690d (patch) | |
tree | da57ce74189de9bfb27e1a747063c37cd62de501 /menu.h | |
parent | 8a7bc6a0bbf60cae8b6391a630880aad5cba3363 (diff) | |
download | vdr-3cd5294d8a337ee5cd2ec894c9fbe04ad3a7690d.tar.gz vdr-3cd5294d8a337ee5cd2ec894c9fbe04ad3a7690d.tar.bz2 |
Implemented strict locking of global lists
Diffstat (limited to 'menu.h')
-rw-r--r-- | menu.h | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -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++; } |