Skip to content

Commit

Permalink
Merged utility functions into main extension code
Browse files Browse the repository at this point in the history
  • Loading branch information
britzl committed Apr 6, 2020
1 parent bfeedee commit 4f22c91
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 106 deletions.
1 change: 0 additions & 1 deletion 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 <stdlib.h>

static GPGS_callback m_callback;
Expand Down
80 changes: 79 additions & 1 deletion gpgs/src/gpgs_extension.cpp
Expand Up @@ -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
Expand Down Expand Up @@ -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*)
Expand Down
89 changes: 0 additions & 89 deletions gpgs/src/utils/LuaUtils.cpp

This file was deleted.

15 changes: 0 additions & 15 deletions gpgs/src/utils/LuaUtils.h

This file was deleted.

0 comments on commit 4f22c91

Please sign in to comment.