From 788e19f54d86ba45cdc83d39c0488b17aa1d00dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Thu, 14 Jul 2016 10:25:52 +0200 Subject: ControllerInterface: Make the ID assigning code common This makes the device ID assigning code common to all backends, by moving it to AddDevice() instead of copy-pasting or replicating the logic in the backends. Also, to prepare for hotplugging, instead of relying on a name usage count, the new ID assigning system always starts from ID 0 and tries to assign the first ID that is not used. --- Source/Core/InputCommon/ControllerInterface/Device.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Source/Core/InputCommon/ControllerInterface/Device.h') diff --git a/Source/Core/InputCommon/ControllerInterface/Device.h b/Source/Core/InputCommon/ControllerInterface/Device.h index 07ca219185..e3fe4c11cd 100644 --- a/Source/Core/InputCommon/ControllerInterface/Device.h +++ b/Source/Core/InputCommon/ControllerInterface/Device.h @@ -93,8 +93,9 @@ public: virtual ~Device(); + int GetId() const { return m_id; } + void SetId(int id) { m_id = id; } virtual std::string GetName() const = 0; - virtual int GetId() const = 0; virtual std::string GetSource() const = 0; virtual void UpdateInput() {} const std::vector& Inputs() const { return m_inputs; } @@ -130,6 +131,7 @@ protected: } private: + int m_id; std::vector m_inputs; std::vector m_outputs; }; -- cgit v1.2.3