openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
rcconsole.h
Go to the documentation of this file.
1 #ifndef __lib_driver_rcconsole_h
2 #define __lib_driver_rcconsole_h
3 
4 #include <termios.h>
5 #include <lib/driver/rc.h>
6 
8 {
9  struct termios ot;
10 protected:
11  int handle;
13  bool m_escape;
14  void keyPressed(int);
15 public:
16  eRCConsoleDriver(const char *filename);
18  void flushBuffer() const
19  {
20  char data[16];
21  if (handle != -1)
22  while ( ::read(handle, data, 16) == 16 );
23  }
24  void lock() const
25  {
26  if ( sn )
27  sn->stop();
28  }
29  void unlock() const
30  {
31  if ( sn )
32  sn->start();
33  }
34 };
35 
36 class eRCConsole: public eRCDevice
37 {
38 public:
39  void handleCode(long code);
41  const char *getDescription() const;
42  const char *getKeyDescription(const eRCKey &key) const;
43  int getKeyCompatibleCode(const eRCKey &key) const;
44 };
45 
46 #endif
Definition: rcconsole.h:8
int handle
Definition: rcconsole.h:11
void lock() const
Definition: rcconsole.h:24
~eRCConsoleDriver()
Definition: rcconsole.cpp:32
void flushBuffer() const
Definition: rcconsole.h:18
void keyPressed(int)
Definition: rcconsole.cpp:39
eRCConsoleDriver(const char *filename)
Definition: rcconsole.cpp:8
void unlock() const
Definition: rcconsole.h:29
bool m_escape
Definition: rcconsole.h:13
ePtr< eSocketNotifier > sn
Definition: rcconsole.h:12
Definition: rcconsole.h:37
const char * getKeyDescription(const eRCKey &key) const
Definition: rcconsole.cpp:94
const char * getDescription() const
Get user readable description.
Definition: rcconsole.cpp:89
eRCConsole(eRCDriver *driver)
Definition: rcconsole.cpp:84
int getKeyCompatibleCode(const eRCKey &key) const
Definition: rcconsole.cpp:99
void handleCode(long code)
Handles a device specific code.
Definition: rcconsole.cpp:79
A remote control.
Definition: rc.h:27
eRCDriver * driver
Definition: rc.h:30
Definition: rc.h:73
Definition: rc.h:139
void start()
Definition: ebase.cpp:25
void stop()
Definition: ebase.cpp:37
const char * filename
Definition: epng.h:36
unsigned char data[256]
Definition: hdmi_cec.h:2