vdr  2.2.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
cLircRemote Class Reference

#include <lirc.h>

Public Member Functions

 cLircRemote (const char *DeviceName)
 
virtual ~cLircRemote ()
 
virtual bool Ready (void)
 
- Public Member Functions inherited from cRemote
virtual ~cRemote ()
 
virtual bool Initialize (void)
 
const char * Name (void)
 
- Public Member Functions inherited from cListObject
 cListObject (void)
 
virtual ~cListObject ()
 
virtual int Compare (const cListObject &ListObject) const
 
void Append (cListObject *Object)
 
void Insert (cListObject *Object)
 
void Unlink (void)
 
int Index (void) const
 
cListObjectPrev (void) const
 
cListObjectNext (void) const
 

Private Types

enum  { LIRC_KEY_BUF = 30, LIRC_BUFFER_SIZE = 128 }
 

Private Member Functions

virtual void Action (void)
 
bool Connect (void)
 
- Private Member Functions inherited from cThread
 cThread (const char *Description=NULL, bool LowPriority=false)
 
virtual ~cThread ()
 
void SetDescription (const char *Description,...) __attribute__((format(printf
 
void bool Start (void)
 
bool Active (void)
 
void SetPriority (int Priority)
 
void SetIOPriority (int Priority)
 
void Lock (void)
 
void Unlock (void)
 
bool Running (void)
 
void Cancel (int WaitSeconds=0)
 

Private Attributes

int f
 
struct sockaddr_un addr
 

Additional Inherited Members

- Static Public Member Functions inherited from cRemote
static void SetLearning (cRemote *Learning)
 
static bool IsLearning ()
 
static bool Enabled (void)
 
static void SetEnabled (bool Enabled)
 
static void Clear (void)
 
static bool Put (eKeys Key, bool AtFront=false)
 
static bool PutMacro (eKeys Key)
 
static bool CallPlugin (const char *Plugin)
 
static const char * GetPlugin (void)
 
static bool HasKeys (void)
 
static eKeys Get (int WaitMs=1000, char **UnknownCode=NULL)
 
static time_t LastActivity (void)
 
static void TriggerLastActivity (void)
 
- Protected Member Functions inherited from cRemote
 cRemote (const char *Name)
 
const char * GetSetup (void)
 
void PutSetup (const char *Setup)
 
bool Put (uint64_t Code, bool Repeat=false, bool Release=false)
 
bool Put (const char *Code, bool Repeat=false, bool Release=false)
 
- Static Private Member Functions inherited from cThread
static tThreadId ThreadId (void)
 
static tThreadId IsMainThread (void)
 
static void SetMainThreadId (void)
 

Detailed Description

Definition at line 17 of file lirc.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
LIRC_KEY_BUF 
LIRC_BUFFER_SIZE 

Definition at line 19 of file lirc.h.

Constructor & Destructor Documentation

cLircRemote::cLircRemote ( const char *  DeviceName)

Definition at line 18 of file lirc.c.

References addr, Connect(), f, and cThread::Start().

cLircRemote::~cLircRemote ( )
virtual

Definition at line 29 of file lirc.c.

References cThread::Cancel(), and f.

Member Function Documentation

void cLircRemote::Action ( void  )
privatevirtual

A derived cThread class must implement the code it wants to execute as a separate thread in this function.

If this is a loop, it must check Running() repeatedly to see whether it's time to stop.

Implements cThread.

Definition at line 57 of file lirc.c.

References Connect(), cTimeMs::Elapsed(), esyslog, f, cFile::FileReady(), isyslog, LIRC_BUFFER_SIZE, LIRC_KEY_BUF, cRemote::Put(), cSetup::RcRepeatDelay, cSetup::RcRepeatDelta, RECONNECTDELAY, cThread::Running(), safe_read(), cTimeMs::Set(), Setup, and cCondWait::SleepMs().

bool cLircRemote::Connect ( void  )
private

Definition at line 38 of file lirc.c.

References addr, f, and LOG_ERROR_STR.

Referenced by Action(), and cLircRemote().

bool cLircRemote::Ready ( void  )
virtual

Reimplemented from cRemote.

Definition at line 52 of file lirc.c.

References f.

Member Data Documentation

struct sockaddr_un cLircRemote::addr
private

Definition at line 21 of file lirc.h.

Referenced by cLircRemote(), and Connect().

int cLircRemote::f
private

Definition at line 20 of file lirc.h.

Referenced by Action(), cLircRemote(), Connect(), Ready(), and ~cLircRemote().


The documentation for this class was generated from the following files: