From d82e2449a0282232c6e6acd1a84514ee5332f4db Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Mon, 9 Jul 2012 15:53:17 +0000 Subject: Improved Squirrel Bindings Added AddCommand / BindCommand for Squirrel Plugins git-svn-id: http://mc-server.googlecode.com/svn/trunk@652 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cSquirrelCommandBinder.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 source/cSquirrelCommandBinder.h (limited to 'source/cSquirrelCommandBinder.h') diff --git a/source/cSquirrelCommandBinder.h b/source/cSquirrelCommandBinder.h new file mode 100644 index 000000000..50e026d06 --- /dev/null +++ b/source/cSquirrelCommandBinder.h @@ -0,0 +1,35 @@ +#pragma once +#include +#include + +class cPlugin; +class cPlayer; + +class cSquirrelCommandBinder +{ +public: + cSquirrelCommandBinder(); + ~cSquirrelCommandBinder(); + + bool HandleCommand( const std::string & a_Command, cPlayer* a_Player ); + + bool BindCommand( const std::string & a_Command, const std::string & a_Permission, cPlugin* a_Plugin, Sqrat::Function a_Callback); + + void ClearBindings(); + void RemoveBindingsForPlugin( cPlugin* a_Plugin ); +private: + struct BoundFunction + { + Sqrat::Function Callback; + cPlugin *Plugin; + std::string Permission; + }; + + typedef std::map< std::string, BoundFunction > CommandMap; + CommandMap m_BoundCommands; +}; + + + + + -- cgit v1.2.3