Add a proper API to set the user agent

This commit is contained in:
Rémi Denis-Courmont 2010-07-08 22:45:43 +03:00
parent d3b02be6e4
commit 7f9b7d3e31
5 changed files with 31 additions and 1 deletions

View File

@ -198,6 +198,8 @@ int main( int i_argc, const char *ppsz_argv[] )
if (vlc == NULL)
goto out;
libvlc_set_user_agent (vlc, "VLC media player", NULL);
#if !defined (HAVE_MAEMO) && !defined __APPLE__
libvlc_add_intf (vlc, "globalhotkeys,none");
#endif

View File

@ -171,6 +171,19 @@ void libvlc_set_exit_handler( libvlc_instance_t *p_instance,
VLC_PUBLIC_API
void libvlc_wait( libvlc_instance_t *p_instance );
/**
* Sets the application name. LibVLC passes this as the user agent string
* when a protocol requires it.
*
* \param p_instance LibVLC instance
* \param name human-readable application name, e.g. "FooBar player 1.2.3"
* \param http HTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0"
* \version LibVLC 1.1.1 or later
*/
VLC_PUBLIC_API
void libvlc_set_user_agent( libvlc_instance_t *p_instance,
const char *name, const char *http );
/**
* Retrieve libvlc version.
*

View File

@ -69,6 +69,8 @@ libvlc_instance_t * libvlc_new( int argc, const char *const *argv )
p_new->verbosity = 1;
p_new->p_callback_list = NULL;
vlc_mutex_init(&p_new->instance_lock);
var_Create( p_libvlc_int, "http-user-agent",
VLC_VAR_STRING|VLC_VAR_DOINHERIT );
return p_new;
error:
@ -127,6 +129,16 @@ void libvlc_wait( libvlc_instance_t *p_i )
libvlc_InternalWait( p_libvlc );
}
void libvlc_set_user_agent (libvlc_instance_t *p_i,
const char *name, const char *http)
{
libvlc_int_t *p_libvlc = p_i->p_libvlc_int;
var_SetString (p_libvlc, "user-agent", name);
if (http != NULL)
var_SetString (p_libvlc, "http-user-agent", http);
}
const char * libvlc_get_version(void)
{
return VLC_Version();

View File

@ -761,8 +761,10 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
var_Create( p_libvlc, "snapshot-file", VLC_VAR_STRING );
var_Create( p_libvlc, "record-file", VLC_VAR_STRING );
/* vout window provider */
/* some default internal settings */
var_Create( p_libvlc, "window", VLC_VAR_STRING );
var_Create( p_libvlc, "user-agent", VLC_VAR_STRING );
var_SetString( p_libvlc, "user-agent", "(LibVLC "VERSION")" );
/* Initialize playlist and get commandline files */
p_playlist = playlist_Create( VLC_OBJECT(p_libvlc) );

View File

@ -160,6 +160,7 @@ libvlc_release
libvlc_retain
libvlc_set_fullscreen
libvlc_set_log_verbosity
libvlc_set_user_agent
libvlc_toggle_fullscreen
libvlc_toggle_teletext
libvlc_track_description_release