diff options
| author | JMC47 <JMC4789@gmail.com> | 2021-05-23 22:10:12 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-23 22:10:12 -0400 |
| commit | 509b24a27f0a417c9139d46d1d5a0ebbf7d678e3 (patch) | |
| tree | 7977561633ae2ff25bf61f887c4873bc74169ce6 /Source/Core/InputCommon/ControlReference/ExpressionParser.h | |
| parent | 975f8e2a25653b3a9a4d8db42285f5b4de50b589 (diff) | |
| parent | 93e3e691f9a3a9913b56ebe71b4bd34fd21ce5c9 (diff) | |
Merge pull request #9581 from Filoppi/expose_input_expr_vars
Expose Control Expression variables to mappings UI
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ExpressionParser.h')
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ExpressionParser.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ExpressionParser.h b/Source/Core/InputCommon/ControlReference/ExpressionParser.h index 14670848ae..d36e00888f 100644 --- a/Source/Core/InputCommon/ControlReference/ExpressionParser.h +++ b/Source/Core/InputCommon/ControlReference/ExpressionParser.h @@ -143,7 +143,7 @@ public: class ControlEnvironment { public: - using VariableContainer = std::map<std::string, ControlState>; + using VariableContainer = std::map<std::string, std::shared_ptr<ControlState>>; ControlEnvironment(const Core::DeviceContainer& container_, const Core::DeviceQualifier& default_, VariableContainer& vars) @@ -154,7 +154,10 @@ public: std::shared_ptr<Core::Device> FindDevice(ControlQualifier qualifier) const; Core::Device::Input* FindInput(ControlQualifier qualifier) const; Core::Device::Output* FindOutput(ControlQualifier qualifier) const; - ControlState* GetVariablePtr(const std::string& name); + // Returns an existing variable by the specified name if already existing. Creates it otherwise. + std::shared_ptr<ControlState> GetVariablePtr(const std::string& name); + + void CleanUnusedVariables(); private: VariableContainer& m_variables; |
