From a6110a606eb56ebc5149a91acea23a2e10909cf8 Mon Sep 17 00:00:00 2001 From: fireclawthefox Date: Thu, 21 Jul 2016 12:46:20 +0200 Subject: [PATCH] renamed gamepad to device in inputDeviceManager renamed as not every device is a gamepad --- panda/src/device/inputDeviceManager.cxx | 29 ++++++++++++++++++++----- panda/src/device/inputDeviceManager.h | 7 +++--- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/panda/src/device/inputDeviceManager.cxx b/panda/src/device/inputDeviceManager.cxx index e4be920583..edcc2a7903 100644 --- a/panda/src/device/inputDeviceManager.cxx +++ b/panda/src/device/inputDeviceManager.cxx @@ -246,23 +246,40 @@ consider_add_js_device(int js_index) { #endif /** - * Description: Returns all currently connected gamepad devices. + * Description: Returns all currently connected devices. */ InputDeviceSet InputDeviceManager:: -get_gamepads() const { - InputDeviceSet gamepads; +get_devices() const { + InputDeviceSet devices; LightMutexHolder holder(_lock); for (size_t i = 0; i < _connected_devices.size(); ++i) { InputDevice *device = _connected_devices[i]; - if (device->get_device_class() == InputDevice::DC_gamepad) { - gamepads.add_device(device); + devices.add_device(device); + } + + return devices; +} + +/** + * Description: Returns all currently connected devices of the given device class. + */ +InputDeviceSet InputDeviceManager:: +get_devices(InputDevice::DeviceClass device_class) const { + InputDeviceSet devices; + LightMutexHolder holder(_lock); + + for (size_t i = 0; i < _connected_devices.size(); ++i) { + InputDevice *device = _connected_devices[i]; + if (device->get_device_class() == device_class) { + devices.add_device(device); } } - return gamepads; + return devices; } + /** * Called when a new device has been discovered. This may also be used to * register virtual devices. diff --git a/panda/src/device/inputDeviceManager.h b/panda/src/device/inputDeviceManager.h index 1bb3c353cd..9459f65c0d 100644 --- a/panda/src/device/inputDeviceManager.h +++ b/panda/src/device/inputDeviceManager.h @@ -38,7 +38,8 @@ private: #endif public: - InputDeviceSet get_gamepads() const; + InputDeviceSet get_devices() const; + InputDeviceSet get_devices(InputDevice::DeviceClass device_class) const; PUBLISHED: void add_device(InputDevice *device); @@ -48,8 +49,8 @@ PUBLISHED: INLINE static InputDeviceManager *get_global_ptr(); - // The set of all currently connected gamepad devices. - MAKE_PROPERTY(gamepads, get_gamepads); + // The set of all currently connected devices. + MAKE_PROPERTY(devices, get_devices); private: LightMutex _lock;