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/Pipes/Pipes.cpp | 5 ++--- Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/Pipes') diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp index b361fee279..6e93a581d1 100644 --- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp +++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp @@ -46,7 +46,6 @@ void Init() // Search the Pipes directory for files that we can open in read-only, // non-blocking mode. The device name is the virtual name of the file. File::FSTEntry fst; - int found = 0; std::string dir_path = File::GetUserPath(D_PIPES_IDX); if (!File::Exists(dir_path)) return; @@ -61,11 +60,11 @@ void Init() int fd = open(child.physicalName.c_str(), O_RDONLY | O_NONBLOCK); if (fd < 0) continue; - g_controller_interface.AddDevice(std::make_shared(fd, child.virtualName, found++)); + g_controller_interface.AddDevice(std::make_shared(fd, child.virtualName)); } } -PipeDevice::PipeDevice(int fd, const std::string& name, int id) : m_fd(fd), m_name(name), m_id(id) +PipeDevice::PipeDevice(int fd, const std::string& name) : m_fd(fd), m_name(name) { for (const auto& tok : s_button_tokens) { diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h index 66ce56ff1c..a2e26db994 100644 --- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h +++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h @@ -27,12 +27,11 @@ void Init(); class PipeDevice : public Core::Device { public: - PipeDevice(int fd, const std::string& name, int id); + PipeDevice(int fd, const std::string& name); ~PipeDevice(); void UpdateInput() override; std::string GetName() const override { return m_name; } - int GetId() const override { return m_id; } std::string GetSource() const override { return "Pipe"; } private: class PipeInput : public Input @@ -53,7 +52,6 @@ private: const int m_fd; const std::string m_name; - const int m_id; std::string m_buf; std::map m_buttons; std::map m_axes; -- cgit v1.2.3