summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControlReference')
-rw-r--r--Source/Core/InputCommon/ControlReference/ControlReference.cpp8
-rw-r--r--Source/Core/InputCommon/ControlReference/ControlReference.h3
2 files changed, 9 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.cpp b/Source/Core/InputCommon/ControlReference/ControlReference.cpp
index 5dc8c858ed..1d3d62e8c3 100644
--- a/Source/Core/InputCommon/ControlReference/ControlReference.cpp
+++ b/Source/Core/InputCommon/ControlReference/ControlReference.cpp
@@ -33,13 +33,14 @@ void ControlReference::UpdateReference(ciface::Core::DeviceContainer& devices,
parsed_expression = nullptr;
ControlFinder finder(devices, default_device, IsInput());
- parse_error = ParseExpression(expression, finder, &parsed_expression);
+ m_parse_status = ParseExpression(expression, finder, &parsed_expression);
}
ControlReference::~ControlReference()
{
delete parsed_expression;
}
+
int ControlReference::BoundCount() const
{
if (parsed_expression)
@@ -48,6 +49,11 @@ int ControlReference::BoundCount() const
return 0;
}
+ExpressionParseStatus ControlReference::GetParseStatus() const
+{
+ return m_parse_status;
+}
+
ControlReference::ControlReference() : range(1), parsed_expression(nullptr)
{
}
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.h b/Source/Core/InputCommon/ControlReference/ControlReference.h
index 4448b58701..49f08b97ce 100644
--- a/Source/Core/InputCommon/ControlReference/ControlReference.h
+++ b/Source/Core/InputCommon/ControlReference/ControlReference.h
@@ -29,16 +29,17 @@ public:
virtual bool IsInput() const = 0;
int BoundCount() const;
+ ciface::ExpressionParser::ExpressionParseStatus GetParseStatus() const;
void UpdateReference(ciface::Core::DeviceContainer& devices,
const ciface::Core::DeviceQualifier& default_device);
ControlState range;
std::string expression;
- ciface::ExpressionParser::ExpressionParseStatus parse_error;
protected:
ControlReference();
ciface::ExpressionParser::Expression* parsed_expression;
+ ciface::ExpressionParser::ExpressionParseStatus m_parse_status;
};
//