summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2016-06-12 17:08:04 +0200
committerLéo Lam <leo@innovatetechnologi.es>2016-06-25 13:46:53 +0200
commitfd29e5c4cc26cd853a03ac7b0e08b367b7070c84 (patch)
tree5fdf3f210fc09344c829d1fa4b63baa4a423d97e /Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
parent8a1bbaa56382b1bca3b95d79c716fc377c78e591 (diff)
ControllerInterface: Don't pass m_devices to the backends
Previously, the devices vector would be passed to all backends. They would then manually push_back to it to add new devices. This was fine but caused issues when trying to add synchronisation. Instead, backends now call AddDevice() to fill m_devices so that it is not accessible from the outside.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
index 95bdcc4da2..fc89d8a1e6 100644
--- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
@@ -17,6 +17,7 @@
#include "Common/FileUtil.h"
#include "Common/MathUtil.h"
#include "Common/StringUtil.h"
+#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/ControllerInterface/Pipes/Pipes.h"
namespace ciface
@@ -40,7 +41,7 @@ static double StringToDouble(const std::string& text)
return result;
}
-void Init(std::vector<Core::Device*>& devices)
+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.
@@ -60,7 +61,7 @@ void Init(std::vector<Core::Device*>& devices)
int fd = open(child.physicalName.c_str(), O_RDONLY | O_NONBLOCK);
if (fd < 0)
continue;
- devices.push_back(new PipeDevice(fd, child.virtualName, found++));
+ g_controller_interface.AddDevice(new PipeDevice(fd, child.virtualName, found++));
}
}