X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mozilla%2Fvlcpeer.cpp;h=9c2a0172aa8fd84498641ac8e7e7916ae57b1781;hb=024fa1c48391bdcff9f3ca3f19f8ebb03a6db1f8;hp=fe1e22b77df6e269804854ebaaf93d4a199cc175;hpb=10840a4a01ebe13f23ee5f7cfb5ff96f868fd0d0;p=vlc diff --git a/mozilla/vlcpeer.cpp b/mozilla/vlcpeer.cpp index fe1e22b77d..9c2a0172aa 100644 --- a/mozilla/vlcpeer.cpp +++ b/mozilla/vlcpeer.cpp @@ -128,6 +128,82 @@ NS_IMETHODIMP VlcPeer::Fullscreen() return NS_OK; } +/* Set/Get vlc variables */ +NS_IMETHODIMP VlcPeer::Set_int_variable(const char *psz_var, PRInt64 value ) +{ + vlc_value_t val; + val.i_int = value; + if( p_plugin ) + { + VLC_VariableSet( p_plugin->i_vlc, psz_var, val ); + } + return NS_OK; +} + +NS_IMETHODIMP VlcPeer::Set_str_variable(const char *psz_var, const char *value ) +{ + vlc_value_t val; + val.psz_string = strdup( value ); + if( p_plugin ) + { + VLC_VariableSet( p_plugin->i_vlc, psz_var, val ); + } + return NS_OK; +} + +NS_IMETHODIMP VlcPeer::Set_bool_variable(const char *psz_var, PRBool value ) +{ + vlc_value_t val; + val.b_bool = value >= 1 ? VLC_TRUE : VLC_FALSE; + if( p_plugin ) + { + VLC_VariableSet( p_plugin->i_vlc, psz_var, val ); + } + return NS_OK; +} + +NS_IMETHODIMP VlcPeer::Get_int_variable( const char *psz_var, PRInt64 *result ) +{ + vlc_value_t val; + if( p_plugin ) + { + fprintf(stderr, "Choppage de %s\n", psz_var ); + VLC_VariableGet( p_plugin->i_vlc, psz_var, &val ); + fprintf(stderr, "Valeur %i\n", val.i_int ); + *result = (PRInt64)val.i_int; + } + return NS_OK; +} + +NS_IMETHODIMP VlcPeer::Get_bool_variable( const char *psz_var,PRBool *result ) +{ + vlc_value_t val; + if( p_plugin ) + { + VLC_VariableGet( p_plugin->i_vlc, psz_var, &val ); + *result = (PRBool)val.b_bool; + } + return NS_OK; +} + +NS_IMETHODIMP VlcPeer::Get_str_variable( const char *psz_var, char **result ) +{ + vlc_value_t val; + if( p_plugin ) + { + fprintf(stderr, "Choppage de %s\n", psz_var ); + VLC_VariableGet( p_plugin->i_vlc, psz_var, &val ); + if( val.psz_string ) + { + *result = strdup( val.psz_string ); + } + else + { + *result = strdup( "" ); + } + } + return NS_OK; +} /* Playlist control */ NS_IMETHODIMP VlcPeer::Clear_playlist()