vdr 2.6.1
dvbhddevice.c
Go to the documentation of this file.
1/*
2 * dvbhddevice.c: A plugin for the Video Disk Recorder
3 *
4 * See the README file for copyright information and how to reach the author.
5 */
6
7#include <getopt.h>
8#include <vdr/plugin.h>
9#include <vdr/shutdown.h>
10#include "dvbhdffdevice.h"
11#include "menu.h"
12#include "setup.h"
13
14static const char *VERSION = "2.2.0";
15static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device");
16static const char *MAINMENUENTRY = "dvbhddevice";
17
19private:
22public:
24 virtual ~cPluginDvbhddevice();
25 virtual const char *Version(void) { return VERSION; }
26 virtual const char *Description(void) { return tr(DESCRIPTION); }
27 virtual void MainThreadHook(void);
28 virtual void Stop(void);
29 virtual const char *MainMenuEntry(void);
30 virtual cOsdObject *MainMenuAction(void);
31 virtual cMenuSetupPage *SetupMenu(void);
32 virtual bool SetupParse(const char *Name, const char *Value);
33 virtual const char *CommandLineHelp(void);
34 virtual bool ProcessArgs(int argc, char *argv[]);
35 };
36
38: mIsUserInactive(true)
39{
41}
42
44{
45 delete probe;
46}
47
49{
50 return " -o --outputonly do not receive, just use as output device\n";
51}
52
53bool cPluginDvbhddevice::ProcessArgs(int argc, char *argv[])
54{
55 static struct option long_options[] = {
56 { "outputonly", no_argument, NULL, 'o' },
57 { NULL, no_argument, NULL, 0 }
58 };
59
60 int c;
61 while ((c = getopt_long(argc, argv, "o", long_options, NULL)) != -1) {
62 switch (c) {
63 case 'o': probe->SetOutputOnly(true);
64 break;
65 default: return false;
66 }
67 }
68 return true;
69}
70
72{
73 bool isUserInactive = ShutdownHandler.IsUserInactive();
74 if (isUserInactive != mIsUserInactive)
75 {
76 mIsUserInactive = isUserInactive;
78 {
80 if (hdffCmdIf && !mIsUserInactive)
81 {
83 }
84 }
85 }
86}
87
89{
91 {
93 if (hdffCmdIf)
94 {
96 isyslog("HDFF_CEC_COMMAND_TV_OFF");
97 }
98 }
99}
100
102{
103 return gHdffSetup.HideMainMenu ? NULL : MAINMENUENTRY;
104}
105
107{
109 return hdffCmdIf ? new cHdffMenu(hdffCmdIf) : NULL;
110}
111
113{
115 return hdffCmdIf ? new cHdffSetupPage(hdffCmdIf) : NULL;
116}
117
118bool cPluginDvbhddevice::SetupParse(const char *Name, const char *Value)
119{
120 return gHdffSetup.SetupParse(Name, Value);
121}
122
void CmdHdmiSendCecCommand(HdffCecCommand_t Command)
Definition: hdffcmd.c:384
void SetOutputOnly(bool On)
static HDFF::cHdffCmdIf * GetHdffCmdHandler(void)
virtual bool SetupParse(const char *Name, const char *Value)
Definition: dvbhddevice.c:118
virtual const char * MainMenuEntry(void)
Definition: dvbhddevice.c:101
virtual cOsdObject * MainMenuAction(void)
Definition: dvbhddevice.c:106
virtual ~cPluginDvbhddevice()
Definition: dvbhddevice.c:43
virtual bool ProcessArgs(int argc, char *argv[])
Definition: dvbhddevice.c:53
virtual const char * Description(void)
Definition: dvbhddevice.c:26
cDvbHdFfDeviceProbe * probe
Definition: dvbhddevice.c:20
virtual const char * Version(void)
Definition: dvbhddevice.c:25
virtual const char * CommandLineHelp(void)
Definition: dvbhddevice.c:48
virtual void MainThreadHook(void)
Definition: dvbhddevice.c:71
virtual void Stop(void)
Definition: dvbhddevice.c:88
cPluginDvbhddevice(void)
Definition: dvbhddevice.c:37
virtual cMenuSetupPage * SetupMenu(void)
Definition: dvbhddevice.c:112
const char * Name(void)
bool IsUserInactive(time_t AtTime=0)
Check whether VDR is in interactive mode or non-interactive mode (waiting for shutdown).
static const char * VERSION
Definition: dvbhddevice.c:14
static const char * DESCRIPTION
Definition: dvbhddevice.c:15
VDRPLUGINCREATOR(cPluginDvbhddevice)
static const char * MAINMENUENTRY
Definition: dvbhddevice.c:16
@ HDFF_CEC_COMMAND_TV_OFF
Definition: hdffcmd_hdmi.h:56
@ HDFF_CEC_COMMAND_TV_ON
Definition: hdffcmd_hdmi.h:55
#define tr(s)
Definition: i18n.h:85
#define trNOOP(s)
Definition: i18n.h:88
cShutdownHandler ShutdownHandler
Definition: shutdown.c:27
#define isyslog(a...)
cHdffSetup gHdffSetup
Definition: setup.c:16
bool SetupParse(const char *Name, const char *Value)
Definition: setup.c:40
int CecTvOn
Definition: setup.h:33
int HideMainMenu
Definition: setup.h:42
int CecTvOff
Definition: setup.h:34
int CecEnabled
Definition: setup.h:32