From f4761d658102198abcce6b020c2c0f0e756d534a Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 16 Oct 2015 20:04:47 +0300 Subject: Add protection attribute to input actions. Unsafe actions blocked from remote usage. --- src/input/inputmanager.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/input/inputmanager.cpp') diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index a9d35fb64..27d15a366 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -811,6 +811,27 @@ bool InputManager::executeChatCommand(const std::string &cmd, return false; } +bool InputManager::executeRemoteChatCommand(const std::string &cmd, + const std::string &args, + ChatTab *const tab) +{ + const StringIntMapCIter it = mChatMap.find(cmd); + if (it != mChatMap.end()) + { + const InputActionData &data = inputActionData[(*it).second]; + if (data.isProtected == Protected_true) + return false; + ActionFuncPtr func = *(data.action); + if (func) + { + InputEvent evt(args, tab, mMask); + func(evt); + return true; + } + } + return false; +} + bool InputManager::executeChatCommand(const InputActionT keyNum, const std::string &args, ChatTab *const tab) -- cgit v1.2.3-60-g2f50