diff options
| author | Léo Lam <leo@innovatetechnologi.es> | 2016-07-14 10:25:52 +0200 |
|---|---|---|
| committer | Léo Lam <leo@innovatetechnologi.es> | 2016-07-14 10:50:53 +0200 |
| commit | 788e19f54d86ba45cdc83d39c0488b17aa1d00dd (patch) | |
| tree | 38cf7b1db29bbcdb400d717806fb5900ff6bcaed /Source/Core/InputCommon/ControllerInterface/Pipes | |
| parent | 89a03174ccfcc0dc80c9f59b84338f508919a555 (diff) | |
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.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Pipes')
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h | 4 |
2 files changed, 3 insertions, 6 deletions
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<PipeDevice>(fd, child.virtualName, found++)); + g_controller_interface.AddDevice(std::make_shared<PipeDevice>(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<std::string, PipeInput*> m_buttons; std::map<std::string, PipeInput*> m_axes; |
