diff --git a/gpgs/src/gpgs_callback.cpp b/gpgs/src/gpgs_callback.cpp index bc76e5d..035833d 100644 --- a/gpgs/src/gpgs_callback.cpp +++ b/gpgs/src/gpgs_callback.cpp @@ -1,6 +1,5 @@ #if defined(DM_PLATFORM_IOS) || defined(DM_PLATFORM_ANDROID) #include "private_gpgs_callback.h" -#include "utils/LuaUtils.h" #include static GPGS_callback m_callback; diff --git a/gpgs/src/gpgs_extension.cpp b/gpgs/src/gpgs_extension.cpp index 06eccf1..709a5d1 100644 --- a/gpgs/src/gpgs_extension.cpp +++ b/gpgs/src/gpgs_extension.cpp @@ -13,7 +13,6 @@ #include "gpgs_extension.h" #include "private_gpgs_callback.h" #include "com_defold_gpgs_GpgsJNI.h" -#include "utils/LuaUtils.h" struct GPGS @@ -78,6 +77,85 @@ static GPGS_Achievement g_gpgs_achievement; static GPGS_Leaderboard g_gpgs_leaderboard; static GPGS_Events g_gpgs_events; + +// generic utility functions + + +static bool luaL_checkbool(lua_State *L, int numArg) +{ + bool b = false; + if (lua_isboolean(L, numArg)) + { + b = lua_toboolean(L, numArg); + } + else + { + luaL_typerror(L, numArg, lua_typename(L, LUA_TBOOLEAN)); + } + return b; +} + +static bool luaL_checkboold(lua_State *L, int numArg, int def) +{ + int type = lua_type(L, numArg); + if (type != LUA_TNONE && type != LUA_TNIL) + { + return luaL_checkbool(L, numArg); + } + return def; +} + +static lua_Number luaL_checknumberd(lua_State *L, int numArg, lua_Number def) +{ + int type = lua_type(L, numArg); + if (type != LUA_TNONE && type != LUA_TNIL) + { + return luaL_checknumber(L, numArg); + } + return def; +} + +static char* luaL_checkstringd(lua_State *L, int numArg, const char* def) +{ + int type = lua_type(L, numArg); + if (type != LUA_TNONE && type != LUA_TNIL) + { + return (char*)luaL_checkstring(L, numArg); + } + return (char*)def; +} + +static lua_Number luaL_checktable_number(lua_State *L, int numArg, const char* field, lua_Number def) +{ + lua_Number result = def; + if(lua_istable(L, numArg)) + { + lua_getfield(L, numArg, field); + if(!lua_isnil(L, -1)) + { + result = luaL_checknumber(L, -1); + } + lua_pop(L, 1); + } + return result; +} + +static char* luaL_checktable_string(lua_State *L, int numArg, const char* field, char* def) +{ + char* result = def; + if(lua_istable(L, numArg)) + { + lua_getfield(L, numArg, field); + if(!lua_isnil(L, -1)) + { + result = (char*)luaL_checkstring(L, -1); + } + lua_pop(L, 1); + } + return result; +} + + // generic JNI calls // void method(char*) diff --git a/gpgs/src/utils/LuaUtils.cpp b/gpgs/src/utils/LuaUtils.cpp deleted file mode 100755 index 6f465ac..0000000 --- a/gpgs/src/utils/LuaUtils.cpp +++ /dev/null @@ -1,89 +0,0 @@ -#include "LuaUtils.h" - -bool luaL_checkbool(lua_State *L, int numArg) -{ - bool b = false; - if (lua_isboolean(L, numArg)) - { - b = lua_toboolean(L, numArg); - } - else - { - luaL_typerror(L, numArg, lua_typename(L, LUA_TBOOLEAN)); - } - return b; -} - -bool luaL_checkboold(lua_State *L, int numArg, int def) -{ - int type = lua_type(L, numArg); - if (type != LUA_TNONE && type != LUA_TNIL) - { - return luaL_checkbool(L, numArg); - } - return def; -} - -lua_Number luaL_checknumberd(lua_State *L, int numArg, lua_Number def) -{ - int type = lua_type(L, numArg); - if (type != LUA_TNONE && type != LUA_TNIL) - { - return luaL_checknumber(L, numArg); - } - return def; -} - -char* luaL_checkstringd(lua_State *L, int numArg, const char* def) -{ - int type = lua_type(L, numArg); - if (type != LUA_TNONE && type != LUA_TNIL) - { - return (char*)luaL_checkstring(L, numArg); - } - return (char*)def; -} - -lua_Number luaL_checktable_number(lua_State *L, int numArg, const char* field, lua_Number def) -{ - lua_Number result = def; - if(lua_istable(L, numArg)) - { - lua_getfield(L, numArg, field); - if(!lua_isnil(L, -1)) - { - result = luaL_checknumber(L, -1); - } - lua_pop(L, 1); - } - return result; -} - -char* luaL_checktable_string(lua_State *L, int numArg, const char* field, char* def) -{ - char* result = def; - if(lua_istable(L, numArg)) - { - lua_getfield(L, numArg, field); - if(!lua_isnil(L, -1)) - { - result = (char*)luaL_checkstring(L, -1); - } - lua_pop(L, 1); - } - return result; -} - -void luaL_push_pair_str_num(lua_State *L, const char *key, int value) -{ - lua_pushstring(L, key); - lua_pushnumber(L, value); - lua_settable(L, -3); -} - -void luaL_push_pair_str_str(lua_State *L, const char *key, const char *value) -{ - lua_pushstring(L, key); - lua_pushstring(L, value); - lua_settable(L, -3); -} diff --git a/gpgs/src/utils/LuaUtils.h b/gpgs/src/utils/LuaUtils.h deleted file mode 100755 index e71c453..0000000 --- a/gpgs/src/utils/LuaUtils.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include - -bool luaL_checkbool(lua_State *L, int numArg); - -bool luaL_checkboold(lua_State *L, int numArg, int def); -lua_Number luaL_checknumberd(lua_State *L, int numArg, lua_Number def); -char* luaL_checkstringd(lua_State *L, int numArg, const char* def); - -lua_Number luaL_checktable_number(lua_State *L, int numArg, const char* field, lua_Number def); -char* luaL_checktable_string(lua_State *L, int numArg, const char* field, char* def); - -void luaL_push_pair_str_num(lua_State *L, const char *key, int value); -void luaL_push_pair_str_str(lua_State *L, const char *key, const char *value);