26 #ifndef OVR_LINUX_HIDDevice_h
27 #define OVR_LINUX_HIDDevice_h
33 namespace OVR {
namespace Linux {
35 class HIDDeviceManager;
62 double OnTicks(
double tickSeconds);
114 bool getIntProperty(udev_device* device,
const char* key, int32_t* pResult);
116 const char* propertyName,
135 #endif // OVR_Linux_HIDDevice_h
bool getStringProperty(udev_device *device, const char *propertyName, OVR::String *pResult)
bool initVendorProductVersion(udev_device *device, HIDDeviceDesc *pDevDesc)
UByte ReadBuffer[ReadBufferSize]
void OnEvent(int i, int fd)
bool getIntProperty(udev_device *device, const char *key, int32_t *pResult)
virtual OVR::HIDDevice * Open(const String &path)
bool GetDescriptorFromPath(const char *dev_path, HIDDeviceDesc *desc)
Array< HIDDevice * > NotificationDevices
bool RemoveNotificationDevice(HIDDevice *device)
static HIDDeviceManager * CreateInternal(DeviceManager *manager)
UInt16 InputReportBufferLength
bool setupDevicePluggedInNotification()
udev_monitor * HIDMonitor
bool openDevice(const char *dev_path)
bool OnDeviceNotification(MessageType messageType, HIDDeviceDesc *device_info, bool *error)
bool getFullDesc(udev_device *device, HIDDeviceDesc *desc)
virtual bool GetFeatureReport(UByte *data, UInt32 length)
bool HIDInitialize(const String &path)
void OnEvent(int i, int fd)
DeviceManager * DevManager
UInt16 FeatureReportBufferLength
double OnTicks(double tickSeconds)
void closeDevice(bool wasUnplugged)
bool AddNotificationDevice(HIDDevice *device)
UInt16 OutputReportBufferLength
bool getPath(udev_device *device, String *pPath)
HIDDeviceManager * HIDManager
virtual ~HIDDeviceManager()
virtual bool Enumerate(HIDEnumerateVisitor *enumVisitor)
void closeDeviceOnIOError()
virtual bool Initialize()
virtual bool SetFeatureReport(UByte *data, UInt32 length)