diff options
Diffstat (limited to 'Sluift/Lua/FunctionRegistration.h')
-rw-r--r-- | Sluift/Lua/FunctionRegistration.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Sluift/Lua/FunctionRegistration.h b/Sluift/Lua/FunctionRegistration.h index 0df1da1..74269e2 100644 --- a/Sluift/Lua/FunctionRegistration.h +++ b/Sluift/Lua/FunctionRegistration.h @@ -16,15 +16,19 @@ namespace Swift { namespace Lua { class FunctionRegistration { public: - FunctionRegistration(const std::string& name, lua_CFunction function, const std::string& type); + FunctionRegistration( + const std::string& name, lua_CFunction function, const std::string& type, + const std::string& helpDescription, const std::string& helpParameters, const std::string& helpOptions); ~FunctionRegistration(); }; } } -#define SLUIFT_LUA_FUNCTION(TYPE, NAME) \ + + +#define SLUIFT_LUA_FUNCTION_WITH_HELP(TYPE, NAME, HELP_DESCRIPTION, HELP_PARAMETERS, HELP_OPTIONS) \ static int TYPE##_##NAME(lua_State* L); \ static int TYPE##_##NAME##_wrapper(lua_State* L); \ - static ::Swift::Lua::FunctionRegistration TYPE##_##NAME##_registration( #NAME , TYPE##_##NAME##_wrapper, #TYPE); \ + static ::Swift::Lua::FunctionRegistration TYPE##_##NAME##_registration( #NAME , TYPE##_##NAME##_wrapper, #TYPE, HELP_DESCRIPTION, HELP_PARAMETERS, HELP_OPTIONS); \ static int TYPE##_##NAME##_wrapper(lua_State* L) { \ try { \ return TYPE ## _ ## NAME (L); \ @@ -34,3 +38,6 @@ namespace Swift { } \ } \ static int TYPE ## _ ## NAME (lua_State* L) + +#define SLUIFT_LUA_FUNCTION(TYPE, NAME) \ + SLUIFT_LUA_FUNCTION_WITH_HELP(TYPE, NAME, "", "", "") |