diff options
| author | Michael Maltese <michaeljosephmaltese@gmail.com> | 2016-10-11 17:48:38 -0700 |
|---|---|---|
| committer | Michael Maltese <michaeljosephmaltese@gmail.com> | 2017-02-07 22:59:10 -0800 |
| commit | a509f56116d308c96e38898e07d3538f26a1b7af (patch) | |
| tree | 1df255d62c9057cb3b53869afab04e737e96f0e0 /Source/Core/InputCommon/ControllerInterface/ControllerInterface.h | |
| parent | f621a6af431e53a71890f916dd812ccf987ab429 (diff) | |
InputCommon: Extract ControlReference from ControllerInterface
Better separation of concerns. Relegates `ControllerInterface` to
enumerating input controls, and the new `ControlReference` deals with
combining inputs and configuration expression parsing.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.h')
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/ControllerInterface.h | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.h b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.h index 845c6cbbf6..d9d85cdd77 100644 --- a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.h +++ b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.h @@ -11,9 +11,7 @@ #include <vector> #include "Common/CommonTypes.h" -#include "Common/Thread.h" #include "InputCommon/ControllerInterface/Device.h" -#include "InputCommon/ControllerInterface/ExpressionParser.h" // enable disable sources #ifdef _WIN32 @@ -45,75 +43,6 @@ class ControllerInterface : public ciface::Core::DeviceContainer { public: - // - // ControlReference - // - // These are what you create to actually use the inputs, InputReference or OutputReference. - // - // After being bound to devices and controls with ControllerInterface::UpdateReference, - // each one can link to multiple devices and controls - // when you change a ControlReference's expression, - // you must use ControllerInterface::UpdateReference on it to rebind controls - // - class ControlReference - { - friend class ControllerInterface; - - public: - virtual ControlState State(const ControlState state = 0) = 0; - virtual ciface::Core::Device::Control* Detect(const unsigned int ms, - ciface::Core::Device* const device) = 0; - - ControlState range; - std::string expression; - const bool is_input; - ciface::ExpressionParser::ExpressionParseStatus parse_error; - - virtual ~ControlReference() { delete parsed_expression; } - int BoundCount() - { - if (parsed_expression) - return parsed_expression->num_controls; - else - return 0; - } - - protected: - ControlReference(const bool _is_input) - : range(1), is_input(_is_input), parsed_expression(nullptr) - { - } - ciface::ExpressionParser::Expression* parsed_expression; - }; - - // - // InputReference - // - // Control reference for inputs - // - class InputReference : public ControlReference - { - public: - InputReference() : ControlReference(true) {} - ControlState State(const ControlState state) override; - ciface::Core::Device::Control* Detect(const unsigned int ms, - ciface::Core::Device* const device) override; - }; - - // - // OutputReference - // - // Control reference for outputs - // - class OutputReference : public ControlReference - { - public: - OutputReference() : ControlReference(false) {} - ControlState State(const ControlState state) override; - ciface::Core::Device::Control* Detect(const unsigned int ms, - ciface::Core::Device* const device) override; - }; - ControllerInterface() : m_is_init(false), m_hwnd(nullptr) {} void Initialize(void* const hwnd); void RefreshDevices(); @@ -121,8 +50,6 @@ public: void AddDevice(std::shared_ptr<ciface::Core::Device> device); void RemoveDevice(std::function<bool(const ciface::Core::Device*)> callback); bool IsInit() const { return m_is_init; } - void UpdateReference(ControlReference* control, - const ciface::Core::DeviceQualifier& default_device) const; void UpdateInput(); void RegisterHotplugCallback(std::function<void(void)> callback); |
