summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference
diff options
context:
space:
mode:
authorMichael Maltese <michaeljosephmaltese@gmail.com>2016-12-09 13:13:11 -0800
committerMichael Maltese <michaeljosephmaltese@gmail.com>2017-02-07 22:59:21 -0800
commit9a632ea7b92b561de8304d8446b0d1e6e7e3e842 (patch)
tree37174c53f33452bd03559920f81bd044b48f881f /Source/Core/InputCommon/ControlReference
parent813a725f68775bd6a618e5eb3393f655313b647c (diff)
ControlReference: hide is_input behind function
Diffstat (limited to 'Source/Core/InputCommon/ControlReference')
-rw-r--r--Source/Core/InputCommon/ControlReference/ControlReference.cpp18
-rw-r--r--Source/Core/InputCommon/ControlReference/ControlReference.h6
2 files changed, 17 insertions, 7 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.cpp b/Source/Core/InputCommon/ControlReference/ControlReference.cpp
index 5b5d807781..5dc8c858ed 100644
--- a/Source/Core/InputCommon/ControlReference/ControlReference.cpp
+++ b/Source/Core/InputCommon/ControlReference/ControlReference.cpp
@@ -32,7 +32,7 @@ void ControlReference::UpdateReference(ciface::Core::DeviceContainer& devices,
delete parsed_expression;
parsed_expression = nullptr;
- ControlFinder finder(devices, default_device, is_input);
+ ControlFinder finder(devices, default_device, IsInput());
parse_error = ParseExpression(expression, finder, &parsed_expression);
}
@@ -48,19 +48,27 @@ int ControlReference::BoundCount() const
return 0;
}
-ControlReference::ControlReference(const bool _is_input)
- : range(1), is_input(_is_input), parsed_expression(nullptr)
+ControlReference::ControlReference() : range(1), parsed_expression(nullptr)
{
}
-InputReference::InputReference() : ControlReference(true)
+InputReference::InputReference() : ControlReference()
{
}
-OutputReference::OutputReference() : ControlReference(false)
+OutputReference::OutputReference() : ControlReference()
{
}
+bool InputReference::IsInput() const
+{
+ return true;
+}
+bool OutputReference::IsInput() const
+{
+ return false;
+}
+
//
// InputReference :: State
//
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.h b/Source/Core/InputCommon/ControlReference/ControlReference.h
index 64f782b2ce..4448b58701 100644
--- a/Source/Core/InputCommon/ControlReference/ControlReference.h
+++ b/Source/Core/InputCommon/ControlReference/ControlReference.h
@@ -26,6 +26,7 @@ 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;
+ virtual bool IsInput() const = 0;
int BoundCount() const;
void UpdateReference(ciface::Core::DeviceContainer& devices,
@@ -33,11 +34,10 @@ public:
ControlState range;
std::string expression;
- const bool is_input;
ciface::ExpressionParser::ExpressionParseStatus parse_error;
protected:
- ControlReference(const bool _is_input);
+ ControlReference();
ciface::ExpressionParser::Expression* parsed_expression;
};
@@ -50,6 +50,7 @@ class InputReference : public ControlReference
{
public:
InputReference();
+ bool IsInput() const override;
ControlState State(const ControlState state) override;
ciface::Core::Device::Control* Detect(const unsigned int ms,
ciface::Core::Device* const device) override;
@@ -64,6 +65,7 @@ class OutputReference : public ControlReference
{
public:
OutputReference();
+ bool IsInput() const override;
ControlState State(const ControlState state) override;
ciface::Core::Device::Control* Detect(const unsigned int ms,
ciface::Core::Device* const device) override;