From 2ec7d0b5fda0fe6cbafcc235e3d8cc91b0dc81e0 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 28 Nov 2022 09:19:01 -0500 Subject: common/input: Add helpers functions for creating input and output devices Avoids the redundancy of needing to explictly specify the common namespace and the type. --- src/common/input.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/common/input.h') diff --git a/src/common/input.h b/src/common/input.h index 4030ad2e5..449e0193f 100644 --- a/src/common/input.h +++ b/src/common/input.h @@ -383,6 +383,16 @@ void RegisterFactory(const std::string& name, std::shared_ptr> factory) { + RegisterFactory(name, std::move(factory)); +} + +inline void RegisterOutputFactory(const std::string& name, + std::shared_ptr> factory) { + RegisterFactory(name, std::move(factory)); +} + /** * Unregisters an input device factory. * @tparam InputDeviceType the type of input devices the factory can create @@ -395,6 +405,14 @@ void UnregisterFactory(const std::string& name) { } } +inline void UnregisterInputFactory(const std::string& name) { + UnregisterFactory(name); +} + +inline void UnregisterOutputFactory(const std::string& name) { + UnregisterFactory(name); +} + /** * Create an input device from given paramters. * @tparam InputDeviceType the type of input devices to create @@ -416,6 +434,14 @@ std::unique_ptr CreateDeviceFromString(const std::string& param return pair->second->Create(package); } +inline std::unique_ptr CreateInputDeviceFromString(const std::string& params) { + return CreateDeviceFromString(params); +} + +inline std::unique_ptr CreateOutputDeviceFromString(const std::string& params) { + return CreateDeviceFromString(params); +} + /** * Create an input device from given parameters. * @tparam InputDeviceType the type of input devices to create @@ -435,4 +461,12 @@ std::unique_ptr CreateDevice(const ParamPackage& package) { return pair->second->Create(package); } +inline std::unique_ptr CreateInputDevice(const ParamPackage& package) { + return CreateDevice(package); +} + +inline std::unique_ptr CreateOutputDevice(const ParamPackage& package) { + return CreateDevice(package); +} + } // namespace Common::Input -- cgit v1.2.3