elua lib: new APIs to retrieve dirs

This commit is contained in:
Daniel Kolesa 2015-04-09 14:17:38 +01:00 committed by Daniel Kolesa
parent f17e8025b8
commit 19bb7eb460
3 changed files with 28 additions and 3 deletions

View File

@ -125,9 +125,9 @@ elua_init_module(lua_State *L)
static int
elua_register_require(lua_State *L)
{
const char *corepath = elua_state->coredir;
const char *modpath = elua_state->moddir;
const char *appspath = elua_state->appsdir;
const char *corepath = elua_state_core_dir_get(elua_state);
const char *modpath = elua_state_mod_dir_get(elua_state);
const char *appspath = elua_state_apps_dir_get(elua_state);
Eina_List *largs = lua_touserdata(L, lua_upvalueindex(1)), *l = NULL;
Eina_Bool noenv = lua_toboolean (L, lua_upvalueindex(2));
Arg_Data *data = NULL;

View File

@ -77,6 +77,10 @@ EAPI void elua_state_free(Elua_State *es);
EAPI void elua_state_dirs_set(Elua_State *es, const char *core,
const char *mods, const char *apps);
EAPI Eina_Stringshare *elua_state_core_dir_get(Elua_State *es);
EAPI Eina_Stringshare *elua_state_mod_dir_get(Elua_State *es);
EAPI Eina_Stringshare *elua_state_apps_dir_get(Elua_State *es);
EAPI Elua_State *elua_state_from_lua_get(lua_State *L);
EAPI int elua_report_error(Elua_State *es, const char *pname, int status);

View File

@ -98,6 +98,27 @@ elua_state_dirs_set(Elua_State *es, const char *core, const char *mods,
if (apps) es->appsdir = eina_stringshare_add(apps);
}
EAPI Eina_Stringshare *
elua_state_core_dir_get(Elua_State *es)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(es, NULL);
return es->coredir;
}
EAPI Eina_Stringshare *
elua_state_mod_dir_get(Elua_State *es)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(es, NULL);
return es->moddir;
}
EAPI Eina_Stringshare *
elua_state_apps_dir_get(Elua_State *es)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(es, NULL);
return es->moddir;
}
EAPI Elua_State *
elua_state_from_lua_get(lua_State *L)
{