vdr
1.7.27
|
#include <remote.h>
Public Member Functions | |
virtual | ~cRemote () |
virtual bool | Ready (void) |
virtual bool | Initialize (void) |
const char * | Name (void) |
virtual | ~cRemote () |
virtual bool | Ready (void) |
virtual bool | Initialize (void) |
const char * | Name (void) |
Static Public Member Functions | |
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) |
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 | |
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) |
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) |
Private Types | |
enum | { MaxKeys = 2 * MAXKEYSINMACRO } |
enum | { MaxKeys = 2 * MAXKEYSINMACRO } |
Private Attributes | |
char * | name |
Static Private Attributes | |
static eKeys | keys [MaxKeys] |
static int | in = 0 |
static int | out = 0 |
static cTimeMs | repeatTimeout |
static cRemote * | learning = NULL |
static char * | unknownCode = NULL |
static cMutex | mutex |
static cCondVar | keyPressed |
static time_t | lastActivity = 0 |
static const char * | keyMacroPlugin = NULL |
static const char * | callPlugin = NULL |
static bool | enabled = true |
Definition at line 20 of file include/vdr/remote.h.
anonymous enum [private] |
Definition at line 22 of file include/vdr/remote.h.
cRemote::cRemote | ( | const char * | Name | ) | [protected] |
Definition at line 39 of file remote.c.
References cListBase::Add(), name, and Remotes.
cRemote::~cRemote | ( | ) | [virtual] |
Definition at line 45 of file remote.c.
References cListBase::Del(), name, and Remotes.
cRemote::cRemote | ( | const char * | Name | ) | [protected] |
virtual cRemote::~cRemote | ( | ) | [virtual] |
bool cRemote::CallPlugin | ( | const char * | Plugin | ) | [static] |
Initiates calling the given plugin's main menu function.
The Plugin parameter is the name of the plugin, and must be a static string. Returns true if the plugin call was successfully initiated (the actual call to the plugin's main menu function will take place some time later, during the next execution of VDR's main loop). If there is already a plugin call pending false will be returned and the caller should try again later.
Definition at line 151 of file remote.c.
References callPlugin, k_Plugin, mutex, and Put().
Referenced by cSVDRP::CmdPLUG(), and cPictureControl::ProcessKey().
static bool cRemote::CallPlugin | ( | const char * | Plugin | ) | [static] |
Initiates calling the given plugin's main menu function.
The Plugin parameter is the name of the plugin, and must be a static string. Returns true if the plugin call was successfully initiated (the actual call to the plugin's main menu function will take place some time later, during the next execution of VDR's main loop). If there is already a plugin call pending false will be returned and the caller should try again later.
static void cRemote::Clear | ( | void | ) | [static] |
void cRemote::Clear | ( | void | ) | [static] |
Definition at line 72 of file remote.c.
References in, learning, mutex, out, and unknownCode.
Referenced by cInterface::LearnKeys(), Put(), and cInterface::QueryKeys().
static bool cRemote::Enabled | ( | void | ) | [inline, static] |
Definition at line 49 of file include/vdr/remote.h.
References enabled.
Referenced by cSVDRP::CmdREMO(), cShutdownHandler::ConfirmShutdown(), and SetEnabled().
static bool cRemote::Enabled | ( | void | ) | [inline, static] |
eKeys cRemote::Get | ( | int | WaitMs = 1000 , |
char ** | UnknownCode = NULL |
||
) | [static] |
Definition at line 181 of file remote.c.
References enabled, in, k_Repeat, keyPressed, keys, kNone, learning, MaxKeys, mutex, out, REPEATTIMEOUT, repeatTimeout, cTimeMs::Set(), cTimeMs::TimedOut(), cCondVar::TimedWait(), TriggerLastActivity(), and unknownCode.
Referenced by cInterface::GetKey(), Initialize(), and cInterface::QueryKeys().
static eKeys cRemote::Get | ( | int | WaitMs = 1000 , |
char ** | UnknownCode = NULL |
||
) | [static] |
const char * cRemote::GetPlugin | ( | void | ) | [static] |
Returns the name of the plugin that was set with a previous call to PutMacro() or CallPlugin().
The internally stored pointer to the plugin name will be reset to NULL by this call.
Definition at line 162 of file remote.c.
References callPlugin, keyMacroPlugin, and mutex.
Referenced by main().
static const char* cRemote::GetPlugin | ( | void | ) | [static] |
Returns the name of the plugin that was set with a previous call to PutMacro() or CallPlugin().
The internally stored pointer to the plugin name will be reset to NULL by this call.
const char * cRemote::GetSetup | ( | void | ) | [protected] |
Definition at line 51 of file remote.c.
References cKeys::GetSetup(), Keys, and Name().
Referenced by cRcuRemote::cRcuRemote().
const char* cRemote::GetSetup | ( | void | ) | [protected] |
bool cRemote::HasKeys | ( | void | ) | [static] |
Definition at line 175 of file remote.c.
References in, k_Repeat, keys, mutex, and out.
Referenced by cInterface::GetKey(), and cTimers::SetEvents().
static bool cRemote::HasKeys | ( | void | ) | [static] |
bool cRemote::Initialize | ( | void | ) | [virtual] |
Reimplemented in cRcuRemote.
Definition at line 61 of file remote.c.
References Get(), INITTIMEOUT, kNone, and Ready().
Referenced by cInterface::QueryKeys().
virtual bool cRemote::Initialize | ( | void | ) | [virtual] |
Reimplemented in cRcuRemote.
static bool cRemote::IsLearning | ( | ) | [inline, static] |
Definition at line 48 of file include/vdr/remote.h.
References learning.
Referenced by cInterface::GetKey().
static bool cRemote::IsLearning | ( | ) | [inline, static] |
static time_t cRemote::LastActivity | ( | void | ) | [inline, static] |
Absolute time when last key was delivered by Get().
Definition at line 68 of file remote.h.
References lastActivity.
static time_t cRemote::LastActivity | ( | void | ) | [inline, static] |
Absolute time when last key was delivered by Get().
Definition at line 68 of file include/vdr/remote.h.
References lastActivity.
Referenced by main().
const char* cRemote::Name | ( | void | ) | [inline] |
Definition at line 46 of file include/vdr/remote.h.
References name.
Referenced by cRcuRemote::cRcuRemote(), GetSetup(), cRcuRemote::Initialize(), Put(), PutSetup(), and cInterface::QueryKeys().
const char* cRemote::Name | ( | void | ) | [inline] |
bool cRemote::Put | ( | uint64_t | Code, |
bool | Repeat = false , |
||
bool | Release = false |
||
) | [protected] |
bool cRemote::Put | ( | uint64_t | Code, |
bool | Repeat = false , |
||
bool | Release = false |
||
) | [protected] |
Definition at line 124 of file remote.c.
Referenced by cLircRemote::Action(), cRcuRemote::Action(), cKbdRemote::Action(), CallPlugin(), cSVDRP::CmdHITK(), cMenuEditFolder::cMenuEditFolder(), cOsdMenu::HotKey(), main(), cMenuMain::ProcessKey(), cDisplayChannel::ProcessKey(), cDisplayVolume::ProcessKey(), cMenuRecording::ProcessKey(), cMenuSetupDVB::ProcessKey(), Put(), PutMacro(), and cInterface::Wait().
bool cRemote::Put | ( | const char * | Code, |
bool | Repeat = false , |
||
bool | Release = false |
||
) | [protected] |
Definition at line 131 of file remote.c.
References cCondVar::Broadcast(), cKeys::Get(), k_Release, k_Repeat, keyPressed, Keys, kNone, learning, Name(), Put(), and unknownCode.
bool cRemote::Put | ( | const char * | Code, |
bool | Repeat = false , |
||
bool | Release = false |
||
) | [protected] |
static bool cRemote::Put | ( | eKeys | Key, |
bool | AtFront = false |
||
) | [static] |
bool cRemote::Put | ( | eKeys | Key, |
bool | AtFront = false |
||
) | [static] |
static bool cRemote::PutMacro | ( | eKeys | Key | ) | [static] |
bool cRemote::PutMacro | ( | eKeys | Key | ) | [static] |
Definition at line 110 of file remote.c.
References cKeyMacros::Get(), keyMacroPlugin, KeyMacros, cKeyMacro::Macro(), mutex, cKeyMacro::NumKeys(), cKeyMacro::Plugin(), and Put().
Referenced by main().
void cRemote::PutSetup | ( | const char * | Setup | ) | [protected] |
void cRemote::PutSetup | ( | const char * | Setup | ) | [protected] |
Definition at line 56 of file remote.c.
References Keys, Name(), and cKeys::PutSetup().
Referenced by cRcuRemote::Initialize().
virtual bool cRemote::Ready | ( | void | ) | [inline, virtual] |
Reimplemented in cRcuRemote, cLircRemote, and cLircRemote.
Definition at line 44 of file include/vdr/remote.h.
Referenced by Initialize().
virtual bool cRemote::Ready | ( | void | ) | [inline, virtual] |
Reimplemented in cRcuRemote, cLircRemote, and cLircRemote.
static void cRemote::SetEnabled | ( | bool | Enabled | ) | [inline, static] |
static void cRemote::SetEnabled | ( | bool | Enabled | ) | [inline, static] |
Definition at line 50 of file include/vdr/remote.h.
References enabled, and Enabled().
Referenced by cSVDRP::CmdREMO().
static void cRemote::SetLearning | ( | cRemote * | Learning | ) | [inline, static] |
Definition at line 47 of file include/vdr/remote.h.
References learning.
Referenced by cInterface::LearnKeys().
static void cRemote::SetLearning | ( | cRemote * | Learning | ) | [inline, static] |
void cRemote::TriggerLastActivity | ( | void | ) | [static] |
Simulates user activity, for instance to keep the current menu open even if no remote control key has been pressed.
Definition at line 204 of file remote.c.
References lastActivity.
Referenced by Get(), and cMenuCam::Set().
static void cRemote::TriggerLastActivity | ( | void | ) | [static] |
Simulates user activity, for instance to keep the current menu open even if no remote control key has been pressed.
static const char * cRemote::callPlugin = NULL [static, private] |
Definition at line 33 of file include/vdr/remote.h.
Referenced by CallPlugin(), and GetPlugin().
static bool cRemote::enabled = true [static, private] |
Definition at line 34 of file include/vdr/remote.h.
Referenced by Enabled(), Get(), and SetEnabled().
static int cRemote::in = 0 [static, private] |
static const char * cRemote::keyMacroPlugin = NULL [static, private] |
Definition at line 32 of file include/vdr/remote.h.
Referenced by GetPlugin(), and PutMacro().
static cCondVar cRemote::keyPressed [static, private] |
Definition at line 30 of file include/vdr/remote.h.
static eKeys cRemote::keys [static, private] |
Definition at line 23 of file include/vdr/remote.h.
static time_t cRemote::lastActivity = 0 [static, private] |
Definition at line 31 of file include/vdr/remote.h.
Referenced by LastActivity(), and TriggerLastActivity().
static cRemote * cRemote::learning = NULL [static, private] |
Definition at line 27 of file include/vdr/remote.h.
Referenced by Clear(), Get(), IsLearning(), Put(), and SetLearning().
static cMutex cRemote::mutex [static, private] |
Definition at line 29 of file include/vdr/remote.h.
Referenced by CallPlugin(), Clear(), Get(), GetPlugin(), HasKeys(), Put(), and PutMacro().
char * cRemote::name [private] |
Definition at line 35 of file include/vdr/remote.h.
Referenced by cRemote(), Name(), and ~cRemote().
static int cRemote::out = 0 [static, private] |
static cTimeMs cRemote::repeatTimeout [static, private] |
Definition at line 26 of file include/vdr/remote.h.
Referenced by Get().
static char * cRemote::unknownCode = NULL [static, private] |
Definition at line 28 of file include/vdr/remote.h.