mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
/*
|
|
* menu.h: The actual menu implementations
|
|
*
|
|
* See the main source file 'vdr.c' for copyright information and
|
|
* how to reach the author.
|
|
*
|
|
* $Id: menu.h 1.10 2000/09/10 14:42:20 kls Exp $
|
|
*/
|
|
|
|
#ifndef _MENU_H
|
|
#define _MENU_H
|
|
|
|
#define _GNU_SOURCE
|
|
|
|
#include "dvbapi.h"
|
|
#include "osd.h"
|
|
|
|
class cMenuMain : public cOsdMenu {
|
|
private:
|
|
time_t lastActivity;
|
|
public:
|
|
cMenuMain(bool Replaying);
|
|
virtual eOSState ProcessKey(eKeys Key);
|
|
};
|
|
|
|
class cDirectChannelSelect : public cOsdBase {
|
|
private:
|
|
int oldNumber;
|
|
int number;
|
|
int lastTime;
|
|
public:
|
|
cDirectChannelSelect(eKeys FirstKey);
|
|
virtual ~cDirectChannelSelect();
|
|
virtual eOSState ProcessKey(eKeys Key);
|
|
};
|
|
|
|
class cRecordControl {
|
|
private:
|
|
cDvbApi *dvbApi;
|
|
cTimer *timer;
|
|
char *instantId;
|
|
public:
|
|
cRecordControl(cDvbApi *DvbApi, cTimer *Timer = NULL);
|
|
virtual ~cRecordControl();
|
|
bool Process(void);
|
|
void Stop(bool KeepInstant = false);
|
|
bool IsInstant(void) { return instantId; }
|
|
const char *InstantId(void) { return instantId; }
|
|
};
|
|
|
|
class cRecordControls {
|
|
private:
|
|
static cRecordControl *RecordControls[MAXDVBAPI];
|
|
public:
|
|
static bool Start(cTimer *Timer = NULL);
|
|
static void Stop(const char *InstantId);
|
|
static const char *GetInstantId(const char *LastInstantId);
|
|
static void Process(void);
|
|
};
|
|
|
|
class cReplayControl : public cOsdBase {
|
|
private:
|
|
cDvbApi *dvbApi;
|
|
bool visible, shown;
|
|
void Show(void);
|
|
void Hide(void);
|
|
static char *fileName;
|
|
static char *title;
|
|
public:
|
|
cReplayControl(void);
|
|
virtual ~cReplayControl();
|
|
virtual eOSState ProcessKey(eKeys Key);
|
|
bool Visible(void) { return visible; }
|
|
static void SetRecording(const char *FileName, const char *Title);
|
|
};
|
|
|
|
#endif //_MENU_H
|