X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7f71c4c8d3211df1bad57c5a275d65350e22c10e..2af18715e52d1900a3a0d0fd36ff80cab84932c1:/include/wx/mac/private/hid.h diff --git a/include/wx/mac/private/hid.h b/include/wx/mac/private/hid.h index 2947ee3575..26a34870b6 100644 --- a/include/wx/mac/private/hid.h +++ b/include/wx/mac/private/hid.h @@ -1,63 +1,5 @@ -#include -#include -#include -#include -#include -#include - -#include - -//Utility wrapper around CFArray -class wxCFArray -{ -public: - wxCFArray(CFTypeRef pData) : pArray((CFArrayRef) pData) {} - CFTypeRef operator [] (const int& nIndex) {return CFArrayGetValueAtIndex(pArray, nIndex); } - int Count() {return CFArrayGetCount(pArray);} -private: - CFArrayRef pArray; -}; - -// -// A wrapper around OS X HID Manager procedures. -// The tutorial "Working With HID Class Device Interfaces" Is -// Quite good, as is the sample program associated with it -// (Depite the author's protests!). -class wxHIDDevice -{ -public: - wxHIDDevice() : m_ppDevice(NULL), m_ppQueue(NULL), m_pCookies(NULL) {} - //kHIDPage_GenericDesktop - //kHIDUsage_GD_Joystick,kHIDUsage_GD_Mouse,kHIDUsage_GD_Keyboard - bool Create (const int& nClass = -1, const int& nType = -1); - - inline void AddCookie(CFTypeRef Data, const int& i); - inline void AddCookieInQueue(CFTypeRef Data, const int& i); - inline void InitCookies(const size_t& dwSize, bool bQueue = false); - - //Must be implemented by derived classes - //builds the cookie array - - //first call InitCookies to initialize the cookie - //array, then AddCookie to add a cookie at a certain point in an array - virtual void BuildCookies(wxCFArray& Array) = 0; - - //checks to see whether the cookie at index nIndex is active (element value != 0) - bool IsActive(const int& nIndex); - - //closes the device and cleans the queue and cookies - virtual ~wxHIDDevice(); -private: - IOHIDDeviceInterface** m_ppDevice; //this, essentially - IOHIDQueueInterface** m_ppQueue; //queue (if we want one) - IOHIDElementCookie* m_pCookies; //cookies - - const char* m_szName; //(product) name - mach_port_t m_pPort; -}; - -class wxHIDKeyboard : public wxHIDDevice -{ -public: - bool Create(); - virtual void BuildCookies(wxCFArray& Array); -}; \ No newline at end of file +#if __WXMAC_CLASSIC__ +#include "wx/mac/classic/private/hid.h" +#else +#include "wx/mac/carbon/private/hid.h" +#endif \ No newline at end of file