summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Pipes
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2024-03-11 01:46:33 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2024-03-11 03:05:52 -0500
commit2ac59bf5813ab44dc3e7f067913b0e951e8b6199 (patch)
treef0e62428746dc39b4f6feb93a563b648a879c018 /Source/Core/InputCommon/ControllerInterface/Pipes
parent8098be3dfa07aa529f61ea2ec4ff4077ef01b2d8 (diff)
InputCommon: Add Pipes InputBackend class.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Pipes')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp14
-rw-r--r--Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h2
2 files changed, 14 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
index af7ad7dc6f..1a2052089e 100644
--- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.cpp
@@ -39,7 +39,19 @@ static double StringToDouble(const std::string& text)
return result;
}
-void PopulateDevices()
+class InputBackend final : public ciface::InputBackend
+{
+public:
+ using ciface::InputBackend::InputBackend;
+ void PopulateDevices() override;
+};
+
+std::unique_ptr<ciface::InputBackend> CreateInputBackend(ControllerInterface* controller_interface)
+{
+ return std::make_unique<InputBackend>(controller_interface);
+}
+
+void InputBackend::PopulateDevices()
{
// 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.
diff --git a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h
index 53fefd0cb5..857d5e8128 100644
--- a/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h
+++ b/Source/Core/InputCommon/ControllerInterface/Pipes/Pipes.h
@@ -21,7 +21,7 @@ namespace ciface::Pipes
// SET {L, R} [0, 1]
// SET {MAIN, C} [0, 1] [0, 1]
-void PopulateDevices();
+std::unique_ptr<ciface::InputBackend> CreateInputBackend(ControllerInterface* controller_interface);
class PipeDevice : public Core::Device
{