From a509f56116d308c96e38898e07d3538f26a1b7af Mon Sep 17 00:00:00 2001 From: Michael Maltese Date: Tue, 11 Oct 2016 17:48:38 -0700 Subject: 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. --- .../ControllerInterface/ExpressionParser.h | 72 ---------------------- 1 file changed, 72 deletions(-) delete mode 100644 Source/Core/InputCommon/ControllerInterface/ExpressionParser.h (limited to 'Source/Core/InputCommon/ControllerInterface/ExpressionParser.h') diff --git a/Source/Core/InputCommon/ControllerInterface/ExpressionParser.h b/Source/Core/InputCommon/ControllerInterface/ExpressionParser.h deleted file mode 100644 index 2c8f5a793f..0000000000 --- a/Source/Core/InputCommon/ControllerInterface/ExpressionParser.h +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2013 Dolphin Emulator Project -// Licensed under GPLv2+ -// Refer to the license.txt file included. - -#pragma once - -#include -#include -#include "InputCommon/ControllerInterface/Device.h" - -namespace ciface -{ -namespace ExpressionParser -{ -class ControlQualifier -{ -public: - bool has_device; - Core::DeviceQualifier device_qualifier; - std::string control_name; - - ControlQualifier() : has_device(false) {} - operator std::string() - { - if (has_device) - return device_qualifier.ToString() + ":" + control_name; - else - return control_name; - } -}; - -class ControlFinder -{ -public: - ControlFinder(const Core::DeviceContainer& container_, const Core::DeviceQualifier& default_, - const bool is_input_) - : container(container_), default_device(default_), is_input(is_input_) - { - } - std::shared_ptr FindDevice(ControlQualifier qualifier); - Core::Device::Control* FindControl(ControlQualifier qualifier); - -private: - const Core::DeviceContainer& container; - const Core::DeviceQualifier& default_device; - bool is_input; -}; - -class ExpressionNode; -class Expression -{ -public: - Expression() : node(nullptr) {} - Expression(ExpressionNode* node); - ~Expression(); - ControlState GetValue(); - void SetValue(ControlState state); - int num_controls; - ExpressionNode* node; -}; - -enum ExpressionParseStatus -{ - EXPRESSION_PARSE_SUCCESS = 0, - EXPRESSION_PARSE_SYNTAX_ERROR, - EXPRESSION_PARSE_NO_DEVICE, -}; - -ExpressionParseStatus ParseExpression(const std::string& expr, ControlFinder& finder, - Expression** expr_out); -} -} -- cgit v1.2.3