Commit 2088087d authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

HTTP old: use vlc_sd_GetNames(), fix #3490

parent 892f7679
...@@ -186,8 +186,8 @@ void mvar_AppendNewVar( mvar_t *vars, const char *name, ...@@ -186,8 +186,8 @@ void mvar_AppendNewVar( mvar_t *vars, const char *name,
* The arg parameter must be of the form "start[:stop[:step]]" */ * The arg parameter must be of the form "start[:stop[:step]]" */
mvar_t *mvar_IntegerSetNew( const char *name, const char *arg ); mvar_t *mvar_IntegerSetNew( const char *name, const char *arg );
/** This function creates a set variable with a list of VLC objects */ /** This function creates a set variable with a list of SD plugins */
mvar_t *mvar_ObjectSetNew( intf_thread_t *p_intf, char *name, const char *arg ); mvar_t *mvar_ServicesSetNew( intf_thread_t *p_intf, char *name );
/** This function creates a set variable with the contents of the playlist */ /** This function creates a set variable with the contents of the playlist */
mvar_t *mvar_PlaylistSetNew( intf_thread_t *p_intf, char *name, mvar_t *mvar_PlaylistSetNew( intf_thread_t *p_intf, char *name,
......
...@@ -1019,11 +1019,9 @@ void Execute( httpd_file_sys_t *p_args, ...@@ -1019,11 +1019,9 @@ void Execute( httpd_file_sys_t *p_args,
index = mvar_FileSetNew( p_intf, m.param1, arg ); index = mvar_FileSetNew( p_intf, m.param1, arg );
free( arg ); free( arg );
} }
else if( !strcmp( m.param2, "object" ) ) else if( !strcmp( m.param2, "services" ) )
{ {
char *arg = SSPop( &p_args->stack ); index = mvar_ServicesSetNew( p_intf, m.param1 );
index = mvar_ObjectSetNew( p_intf, m.param1, arg );
free( arg );
} }
else if( !strcmp( m.param2, "playlist" ) ) else if( !strcmp( m.param2, "playlist" ) )
{ {
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#endif #endif
#include <vlc_fs.h> #include <vlc_fs.h>
#include <vlc_services_discovery.h>
/* Utility function for scandir */ /* Utility function for scandir */
static int Filter( const char *foo ) static int Filter( const char *foo )
...@@ -337,29 +338,26 @@ mvar_t *mvar_InfoSetNew( char *name, input_thread_t *p_input ) ...@@ -337,29 +338,26 @@ mvar_t *mvar_InfoSetNew( char *name, input_thread_t *p_input )
return s; return s;
} }
mvar_t *mvar_ObjectSetNew( intf_thread_t *p_intf, char *psz_name, mvar_t *mvar_ServicesSetNew( intf_thread_t *p_intf, char *psz_name )
const char *psz_capability )
{ {
VLC_UNUSED(p_intf);
mvar_t *s = mvar_New( psz_name, "set" ); mvar_t *s = mvar_New( psz_name, "set" );
size_t i; char **longnames;
char **names = vlc_sd_GetNames( p_intf, &longnames, NULL );
if( names == NULL )
goto out;
module_t **p_list = module_list_get( NULL ); for( size_t i = 0; names[i]; i++ )
for( i = 0; p_list[i]; i++ )
{ {
module_t *p_parser = p_list[i]; mvar_t *sd = mvar_New( "sd", names[i] );
if( module_provides( p_parser, psz_capability ) ) mvar_AppendNewVar( sd, "name", longnames[i] );
{ mvar_AppendVar( s, sd );
mvar_t *sd = mvar_New( "sd", module_get_object( p_parser ) ); free( names[i] );
mvar_AppendNewVar( sd, "name", free( longnames[i] );
module_get_name( p_parser, true ) );
mvar_AppendVar( s, sd );
}
} }
module_list_free( p_list ); free( longnames );
free( names );
out:
return s; return s;
} }
......
...@@ -77,9 +77,8 @@ This dialog needs the following dialogs to be fully functional: <none> ...@@ -77,9 +77,8 @@ This dialog needs the following dialogs to be fully functional: <none>
<span class="btn_text">Services Discovery</span> <span class="btn_text">Services Discovery</span>
</button> </button>
<div id="menu_sd" class="menu" > <div id="menu_sd" class="menu" >
<vlc id="rpn" param1="services_discovery" /> <vlc id="foreach" param1="sd" param2="services" />
<vlc id="foreach" param1="sd" param2="object" /> <button onclick="pl_sd('<vlc id="value" param1="sd value url_encode" />');hide_menu('menu_sd');" onmouseover="setclass(this,'menuover');" onmouseout="setclass(this,'menuout');" class="menuout" title="Toggle <vlc id="value" param1="sd.name" />" ><vlc id="value" param1="sd.name" /></button><br/>
<button onclick="pl_sd('<vlc id="value" param1="sd" />');hide_menu('menu_sd');" onmouseover="setclass(this,'menuover');" onmouseout="setclass(this,'menuout');" class="menuout" title="Toggle <vlc id="value" param1="sd.name" />" ><vlc id="value" param1="sd.name" /></button><br/>
<vlc id="end" /> <vlc id="end" />
</div> </div>
</td> </td>
......
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