AppleRemote Class Reference

#include <AppleRemote.h>

List of all members.

Classes

class  Listener

Public Types

enum  Event {
  VolumePlus = 0, VolumeMinus, Menu, Play,
  Right, Left, RightHold, LeftHold,
  MenuHold, PlaySleep, ControlSwitched
}

Public Member Functions

 ~AppleRemote ()
bool isListeningToRemote ()
void setListener (Listener *listener)
Listenerlistener ()
void setOpenInExclusiveMode (bool in)
bool isOpenInExclusiveMode ()
void startListening ()
void stopListening ()
void run ()

Static Public Member Functions

static AppleRemoteGet ()

Protected Member Functions

 AppleRemote ()

Static Protected Attributes

static AppleRemote_instance = 0
static const char *const AppleRemoteDeviceName = "AppleIRController"
static const int REMOTE_SWITCH_COOKIE = 19

Private Member Functions

void _initCookieMap ()
io_object_t _findAppleRemoteDevice ()
bool _initCookies ()
bool _createDeviceInterface (io_object_t hidDevice)
bool _openDevice ()
void _queueCallbackFunction (IOReturn result, void *refcon, void *sender)
void _handleEventWithCookieString (std::string cookieString, SInt32 sumOfValues)

Static Private Member Functions

static void QueueCallbackFunction (void *target, IOReturn result, void *refcon, void *sender)

Private Attributes

bool openInExclusiveMode
IOHIDDeviceInterface ** hidDeviceInterface
IOHIDQueueInterface ** queue
std::vector< int > cookies
std::map< std::string, EventcookieToButtonMapping
int remoteId
Listener_listener


Detailed Description

Definition at line 15 of file AppleRemote.h.


Member Enumeration Documentation

Enumerator:
VolumePlus 
VolumeMinus 
Menu 
Play 
Right 
Left 
RightHold 
LeftHold 
MenuHold 
PlaySleep 
ControlSwitched 

Definition at line 18 of file AppleRemote.h.


Constructor & Destructor Documentation

AppleRemote::~AppleRemote (  ) 

Definition at line 40 of file AppleRemote.cpp.

AppleRemote::AppleRemote (  )  [protected]

Definition at line 104 of file AppleRemote.cpp.

Referenced by Get().


Member Function Documentation

AppleRemote * AppleRemote::Get ( void   )  [static]

Definition at line 32 of file AppleRemote.cpp.

Referenced by MythMainWindow::MythMainWindow().

bool AppleRemote::isListeningToRemote (  ) 

Definition at line 45 of file AppleRemote.cpp.

Referenced by MythMainWindow::MythMainWindow().

void AppleRemote::setListener ( AppleRemote::Listener listener  ) 

Definition at line 50 of file AppleRemote.cpp.

Referenced by MythMainWindow::MythMainWindow().

Listener* AppleRemote::listener (  )  [inline]

Definition at line 43 of file AppleRemote.h.

void AppleRemote::setOpenInExclusiveMode ( bool  in  )  [inline]

Definition at line 44 of file AppleRemote.h.

bool AppleRemote::isOpenInExclusiveMode (  )  [inline]

Definition at line 45 of file AppleRemote.h.

void AppleRemote::startListening (  ) 

Definition at line 55 of file AppleRemote.cpp.

Referenced by MythMainWindow::event(), and MythMainWindow::MythMainWindow().

void AppleRemote::stopListening (  ) 

void AppleRemote::run ( void   ) 

Definition at line 96 of file AppleRemote.cpp.

void AppleRemote::_initCookieMap (  )  [private]

Definition at line 114 of file AppleRemote.cpp.

Referenced by AppleRemote().

io_object_t AppleRemote::_findAppleRemoteDevice (  )  [private]

Definition at line 144 of file AppleRemote.cpp.

Referenced by startListening().

bool AppleRemote::_initCookies (  )  [private]

Definition at line 168 of file AppleRemote.cpp.

Referenced by startListening().

bool AppleRemote::_createDeviceInterface ( io_object_t  hidDevice  )  [private]

Definition at line 208 of file AppleRemote.cpp.

Referenced by startListening().

bool AppleRemote::_openDevice (  )  [private]

Definition at line 238 of file AppleRemote.cpp.

Referenced by startListening().

void AppleRemote::QueueCallbackFunction ( void *  target,
IOReturn  result,
void *  refcon,
void *  sender 
) [static, private]

Definition at line 299 of file AppleRemote.cpp.

Referenced by _openDevice().

void AppleRemote::_queueCallbackFunction ( IOReturn  result,
void *  refcon,
void *  sender 
) [private]

Definition at line 307 of file AppleRemote.cpp.

Referenced by QueueCallbackFunction().

void AppleRemote::_handleEventWithCookieString ( std::string  cookieString,
SInt32  sumOfValues 
) [private]

Definition at line 337 of file AppleRemote.cpp.

Referenced by _queueCallbackFunction().


Member Data Documentation

AppleRemote * AppleRemote::_instance = 0 [static, protected]

Definition at line 53 of file AppleRemote.h.

Referenced by Get().

const char *const AppleRemote::AppleRemoteDeviceName = "AppleIRController" [static, protected]

Definition at line 54 of file AppleRemote.h.

Referenced by _findAppleRemoteDevice().

const int AppleRemote::REMOTE_SWITCH_COOKIE = 19 [static, protected]

Definition at line 55 of file AppleRemote.h.

Referenced by _queueCallbackFunction().

Definition at line 59 of file AppleRemote.h.

Referenced by _openDevice(), isOpenInExclusiveMode(), and setOpenInExclusiveMode().

IOHIDDeviceInterface** AppleRemote::hidDeviceInterface [private]

IOHIDQueueInterface** AppleRemote::queue [private]

std::vector<int> AppleRemote::cookies [private]

Definition at line 62 of file AppleRemote.h.

Referenced by _initCookies(), _openDevice(), isListeningToRemote(), and stopListening().

Definition at line 63 of file AppleRemote.h.

Referenced by _handleEventWithCookieString(), and _initCookieMap().

int AppleRemote::remoteId [private]

Definition at line 64 of file AppleRemote.h.

Referenced by _queueCallbackFunction().

Definition at line 65 of file AppleRemote.h.

Referenced by _handleEventWithCookieString(), listener(), and setListener().


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

Generated on Sun Jan 31 18:22:45 2010 for MythTV by  doxygen 1.5.9