summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference/ControlReference.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ControlReference.cpp')
-rw-r--r--Source/Core/InputCommon/ControlReference/ControlReference.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.cpp b/Source/Core/InputCommon/ControlReference/ControlReference.cpp
index 4268531668..5b5d807781 100644
--- a/Source/Core/InputCommon/ControlReference/ControlReference.cpp
+++ b/Source/Core/InputCommon/ControlReference/ControlReference.cpp
@@ -36,6 +36,31 @@ void ControlReference::UpdateReference(ciface::Core::DeviceContainer& devices,
parse_error = ParseExpression(expression, finder, &parsed_expression);
}
+ControlReference::~ControlReference()
+{
+ delete parsed_expression;
+}
+int ControlReference::BoundCount() const
+{
+ if (parsed_expression)
+ return parsed_expression->num_controls;
+ else
+ return 0;
+}
+
+ControlReference::ControlReference(const bool _is_input)
+ : range(1), is_input(_is_input), parsed_expression(nullptr)
+{
+}
+
+InputReference::InputReference() : ControlReference(true)
+{
+}
+
+OutputReference::OutputReference() : ControlReference(false)
+{
+}
+
//
// InputReference :: State
//