elua lib: new APIs to retrieve dirs
authorDaniel Kolesa <d.kolesa@samsung.com>
Thu, 9 Apr 2015 13:17:38 +0000 (14:17 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 6 May 2015 14:05:19 +0000 (15:05 +0100)
src/bin/elua/main.c
src/lib/elua/Elua.h
src/lib/elua/elua.c

index b32058d..b6693aa 100644 (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;
index f782c41..702a3f0 100644 (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);
index e5a8387..7382bde 100644 (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)
 {