Commit ad964b11 authored by Pierre Ynard's avatar Pierre Ynard

lua: expose var_Inherit()

Similar functionality wasn't quite available by combining
vlc.var.create() and vlc.var.get()
parent c39bdd52
...@@ -130,6 +130,27 @@ static int vlclua_tovalue( lua_State *L, int i_type, vlc_value_t *val ) ...@@ -130,6 +130,27 @@ static int vlclua_tovalue( lua_State *L, int i_type, vlc_value_t *val )
return 1; return 1;
} }
static int vlclua_var_inherit( lua_State *L )
{
vlc_value_t val;
vlc_object_t *p_obj;
if( lua_type( L, 1 ) == LUA_TNIL )
p_obj = vlclua_get_this( L );
else
{
vlc_object_t **pp_obj = luaL_checkudata( L, 1, "vlc_object" );
p_obj = *pp_obj;
}
const char *psz_var = luaL_checkstring( L, 2 );
int i_type = config_GetType( p_obj, psz_var );
if( var_Inherit( p_obj, psz_var, i_type, &val ) != VLC_SUCCESS )
return 0;
lua_pop( L, 2 );
return vlclua_pushvalue( L, i_type, val, true );
}
static int vlclua_var_get( lua_State *L ) static int vlclua_var_get( lua_State *L )
{ {
vlc_value_t val; vlc_value_t val;
...@@ -611,6 +632,7 @@ static int vlclua_togglebool( lua_State *L ) ...@@ -611,6 +632,7 @@ static int vlclua_togglebool( lua_State *L )
* *
*****************************************************************************/ *****************************************************************************/
static const luaL_Reg vlclua_var_reg[] = { static const luaL_Reg vlclua_var_reg[] = {
{ "inherit", vlclua_var_inherit },
{ "get", vlclua_var_get }, { "get", vlclua_var_get },
{ "get_list", vlclua_var_get_list }, { "get_list", vlclua_var_get_list },
{ "set", vlclua_var_set }, { "set", vlclua_var_set },
......
...@@ -375,6 +375,8 @@ strings.from_charset( charset, str ): convert a string from a specified ...@@ -375,6 +375,8 @@ strings.from_charset( charset, str ): convert a string from a specified
Variables Variables
--------- ---------
var.inherit( object, name ): Find the variable "name"'s value inherited by
the object. If object is unset, the current module's object will be used.
var.get( object, name ): Get the object's variable "name"'s value. var.get( object, name ): Get the object's variable "name"'s value.
var.get_list( object, name ): Get the object's variable "name"'s value list. var.get_list( object, name ): Get the object's variable "name"'s value list.
1st return value is the value list, 2nd return value is the text list. 1st return value is the value list, 2nd return value is the text list.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment