From 74a902da2020980aaa51217432eaa6940a3deae5 Mon Sep 17 00:00:00 2001 From: Maciej Suminski Date: Thu, 30 Apr 2015 10:46:02 +0200 Subject: [PATCH] Syntactic sugar for TOOL_MANAGER::RunAction(). --- include/tool/tool_manager.h | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/include/tool/tool_manager.h b/include/tool/tool_manager.h index 23b992cf38..4c60bfa9d6 100644 --- a/include/tool/tool_manager.h +++ b/include/tool/tool_manager.h @@ -110,7 +110,18 @@ public: * depends on the action. * @return False if the action was not found. */ - bool RunAction( const std::string& aActionName, bool aNow = false, void* aParam = NULL ); + template + bool RunAction( const std::string& aActionName, bool aNow = false, T aParam = NULL ) + { + return RunAction( aActionName, aNow, reinterpret_cast( aParam ) ); + } + + bool RunAction( const std::string& aActionName, bool aNow, void* aParam = NULL ); + + bool RunAction( const std::string& aActionName, bool aNow = false ) + { + return RunAction( aActionName, aNow, (void*) NULL ); + } /** * Function RunAction() @@ -122,7 +133,18 @@ public: * @param aParam is an optional parameter that might be used by the invoked action. Its meaning * depends on the action. */ - void RunAction( const TOOL_ACTION& aAction, bool aNow = false, void* aParam = NULL ); + template + void RunAction( const TOOL_ACTION& aAction, bool aNow = false, T aParam = NULL ) + { + RunAction( aAction, aNow, reinterpret_cast( aParam ) ); + } + + void RunAction( const TOOL_ACTION& aAction, bool aNow, void* aParam ); + + void RunAction( const TOOL_ACTION& aAction, bool aNow = false ) + { + RunAction( aAction, aNow, (void*) NULL ); + } /** * Function FindTool()