From b97a4bbf17a4fe43938145b404c45140b378bb2f Mon Sep 17 00:00:00 2001 From: "Dr. Chat" Date: Tue, 15 May 2018 17:02:36 -0500 Subject: [PATCH] [HID] Remove ui::Window reference from drivers that don't need it --- src/xenia/hid/input_driver.cc | 3 +-- src/xenia/hid/input_driver.h | 6 +----- src/xenia/hid/input_system.h | 6 ------ src/xenia/hid/nop/nop_hid.cc | 4 ++-- src/xenia/hid/nop/nop_hid.h | 2 +- src/xenia/hid/nop/nop_input_driver.cc | 2 +- src/xenia/hid/nop/nop_input_driver.h | 2 +- src/xenia/hid/winkey/winkey_input_driver.cc | 2 +- src/xenia/hid/winkey/winkey_input_driver.h | 5 +++++ src/xenia/hid/xinput/xinput_hid.cc | 4 ++-- src/xenia/hid/xinput/xinput_input_driver.h | 2 +- 11 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/xenia/hid/input_driver.cc b/src/xenia/hid/input_driver.cc index 1627d5dc4..a4a8430c5 100644 --- a/src/xenia/hid/input_driver.cc +++ b/src/xenia/hid/input_driver.cc @@ -12,8 +12,7 @@ namespace xe { namespace hid { -InputDriver::InputDriver(xe::ui::Window* window) : window_(window) {} - +InputDriver::InputDriver() = default; InputDriver::~InputDriver() = default; } // namespace hid diff --git a/src/xenia/hid/input_driver.h b/src/xenia/hid/input_driver.h index 6de322ab1..e05ae0aff 100644 --- a/src/xenia/hid/input_driver.h +++ b/src/xenia/hid/input_driver.h @@ -26,6 +26,7 @@ class InputSystem; class InputDriver { public: + InputDriver(); virtual ~InputDriver(); virtual X_STATUS Setup() = 0; @@ -37,11 +38,6 @@ class InputDriver { X_INPUT_VIBRATION* vibration) = 0; virtual X_RESULT GetKeystroke(uint32_t user_index, uint32_t flags, X_INPUT_KEYSTROKE* out_keystroke) = 0; - - protected: - explicit InputDriver(xe::ui::Window* window); - - xe::ui::Window* window_ = nullptr; }; } // namespace hid diff --git a/src/xenia/hid/input_system.h b/src/xenia/hid/input_system.h index 7632d6d34..57d93d1ec 100644 --- a/src/xenia/hid/input_system.h +++ b/src/xenia/hid/input_system.h @@ -17,12 +17,6 @@ #include "xenia/hid/input_driver.h" #include "xenia/xbox.h" -namespace xe { -namespace ui { -class Window; -} // namespace ui -} // namespace xe - namespace xe { namespace hid { diff --git a/src/xenia/hid/nop/nop_hid.cc b/src/xenia/hid/nop/nop_hid.cc index 54765df5f..dcbcb226f 100644 --- a/src/xenia/hid/nop/nop_hid.cc +++ b/src/xenia/hid/nop/nop_hid.cc @@ -15,8 +15,8 @@ namespace xe { namespace hid { namespace nop { -std::unique_ptr Create(xe::ui::Window* window) { - return std::make_unique(window); +std::unique_ptr Create() { + return std::make_unique(); } } // namespace nop diff --git a/src/xenia/hid/nop/nop_hid.h b/src/xenia/hid/nop/nop_hid.h index c2ea0a037..48f55e5d9 100644 --- a/src/xenia/hid/nop/nop_hid.h +++ b/src/xenia/hid/nop/nop_hid.h @@ -18,7 +18,7 @@ namespace xe { namespace hid { namespace nop { -std::unique_ptr Create(xe::ui::Window* window); +std::unique_ptr Create(); } // namespace nop } // namespace hid diff --git a/src/xenia/hid/nop/nop_input_driver.cc b/src/xenia/hid/nop/nop_input_driver.cc index bd22d65e2..535638c5e 100644 --- a/src/xenia/hid/nop/nop_input_driver.cc +++ b/src/xenia/hid/nop/nop_input_driver.cc @@ -15,7 +15,7 @@ namespace xe { namespace hid { namespace nop { -NopInputDriver::NopInputDriver(xe::ui::Window* window) : InputDriver(window) {} +NopInputDriver::NopInputDriver() {} NopInputDriver::~NopInputDriver() = default; diff --git a/src/xenia/hid/nop/nop_input_driver.h b/src/xenia/hid/nop/nop_input_driver.h index be949f016..70d6e7df9 100644 --- a/src/xenia/hid/nop/nop_input_driver.h +++ b/src/xenia/hid/nop/nop_input_driver.h @@ -18,7 +18,7 @@ namespace nop { class NopInputDriver : public InputDriver { public: - explicit NopInputDriver(xe::ui::Window* window); + NopInputDriver(); ~NopInputDriver() override; X_STATUS Setup() override; diff --git a/src/xenia/hid/winkey/winkey_input_driver.cc b/src/xenia/hid/winkey/winkey_input_driver.cc index 30ce09309..d98d26a84 100644 --- a/src/xenia/hid/winkey/winkey_input_driver.cc +++ b/src/xenia/hid/winkey/winkey_input_driver.cc @@ -19,7 +19,7 @@ namespace hid { namespace winkey { WinKeyInputDriver::WinKeyInputDriver(xe::ui::Window* window) - : InputDriver(window), packet_number_(1) { + : window_(window), packet_number_(1) { // Register a key listener. window_->on_key_down.AddListener([this](ui::KeyEvent* evt) { auto global_lock = global_critical_region_.Acquire(); diff --git a/src/xenia/hid/winkey/winkey_input_driver.h b/src/xenia/hid/winkey/winkey_input_driver.h index 2bc923f39..ad31d6192 100644 --- a/src/xenia/hid/winkey/winkey_input_driver.h +++ b/src/xenia/hid/winkey/winkey_input_driver.h @@ -16,6 +16,10 @@ #include "xenia/hid/input_driver.h" namespace xe { +namespace ui { +class Window; +} // namespace ui + namespace hid { namespace winkey { @@ -41,6 +45,7 @@ class WinKeyInputDriver : public InputDriver { bool prev_state = false; // down(true) or up(false) }; + xe::ui::Window* window_ = nullptr; xe::global_critical_region global_critical_region_; std::queue key_events_; diff --git a/src/xenia/hid/xinput/xinput_hid.cc b/src/xenia/hid/xinput/xinput_hid.cc index 093d266f0..e3cd62a50 100644 --- a/src/xenia/hid/xinput/xinput_hid.cc +++ b/src/xenia/hid/xinput/xinput_hid.cc @@ -15,8 +15,8 @@ namespace xe { namespace hid { namespace xinput { -std::unique_ptr Create(xe::ui::Window* window) { - return std::make_unique(window); +std::unique_ptr Create() { + return std::make_unique(); } } // namespace xinput diff --git a/src/xenia/hid/xinput/xinput_input_driver.h b/src/xenia/hid/xinput/xinput_input_driver.h index fbf75c422..bc904b6c0 100644 --- a/src/xenia/hid/xinput/xinput_input_driver.h +++ b/src/xenia/hid/xinput/xinput_input_driver.h @@ -18,7 +18,7 @@ namespace xinput { class XInputInputDriver : public InputDriver { public: - explicit XInputInputDriver(xe::ui::Window* window); + XInputInputDriver(); ~XInputInputDriver() override; X_STATUS Setup() override;