2 Copyright 2004-2005 Chris Tallon; 2012 Marten Richter
4 This file is part of VOMP.
6 VOMP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 VOMP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with VOMP; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
31 #include <libcec/cec.h>
37 class RemoteLinux : public Remote
41 virtual ~RemoteLinux();
43 int init(char *devName);
46 UCHAR getButtonPress(int how);
51 void InitHWCListwithDefaults();
52 const char*HardcodedTranslateStr(UCHAR command);
53 char* HCWDesc(ULLONG hcw);
55 void changePowerState(bool poweron);
57 bool loadOptionsfromServer(VDR* vdr);
58 bool saveOptionstoServer();
59 bool addOptionsToPanes(int panenumber,Options *options,WOptionPane* pane);
60 bool handleOptionChanges(Option* option);
62 bool mayHaveFewButtons() {return true;};
64 virtual bool handlesVolume() {return cechandlesvolume;};
65 virtual void volumeUp();
66 virtual void volumeDown();
67 virtual void volumeMute();
79 bool cechandlesvolume;
83 UCHAR TranslateHWCFixed(ULLONG code);
88 CEC::ICECAdapter * cec_adap;
89 CEC::libcec_configuration cec_config;
90 CEC::ICECCallbacks cec_callbacks;
92 void incomingCECkey(int keys);
93 void incomingPowerkey(UCHAR key);
95 static int cecLogMessage(void *param, const CEC::cec_log_message message);
96 static int cecKeyPress(void*param, const CEC::cec_keypress key);
97 static int cecCommand(void *param, const CEC::cec_command command);
98 static int cecConfigurationChanged(void *param, const CEC::libcec_configuration config);
99 static void cecSourceActivated(void*param, const CEC::cec_logical_address address, const uint8_t activated);