From c3103fe44836ddd43e7c19e70a6996ba36311137 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sun, 8 Mar 2009 22:37:13 +0200 Subject: [PATCH] Remove intf_UserProgress --- include/vlc_interface.h | 7 -- src/interface/interaction.c | 198 ------------------------------------ src/libvlccore.sym | 4 - 3 files changed, 209 deletions(-) diff --git a/include/vlc_interface.h b/include/vlc_interface.h index 0228b14aa7..c6856c9e78 100644 --- a/include/vlc_interface.h +++ b/include/vlc_interface.h @@ -281,13 +281,6 @@ enum #define intf_UserStringInput( a, b, c, d ) (VLC_OBJECT(a),b,c,d, VLC_EGENERIC) -#define intf_IntfProgress( a, b, c ) __intf_Progress( VLC_OBJECT(a), NULL, b,c, -1 ) -#define intf_UserProgress( a, b, c, d, e ) __intf_Progress( VLC_OBJECT(a),b,c,d,e ) -VLC_EXPORT( interaction_dialog_t *, __intf_Progress,( vlc_object_t*, const char*, const char*, float, int) ); -VLC_EXPORT( void, intf_ProgressUpdate,( interaction_dialog_t *, const char*, float, int) ); -VLC_EXPORT( bool, intf_ProgressIsCancelled,( interaction_dialog_t * ) ); -VLC_EXPORT( void, intf_UserHide,( interaction_dialog_t * )); - /** @} */ /** @} */ diff --git a/src/interface/interaction.c b/src/interface/interaction.c index 936f7b4121..9057569983 100644 --- a/src/interface/interaction.c +++ b/src/interface/interaction.c @@ -64,13 +64,10 @@ struct interaction_t intf_thread_t *p_intf; ///< Interface to use }; -static interaction_t * InteractionGet( vlc_object_t * ); -static intf_thread_t * SearchInterface( interaction_t * ); static void* InteractionLoop( void * ); static void InteractionManage( interaction_t * ); static void DialogDestroy( interaction_dialog_t * ); -static int DialogSend( interaction_dialog_t * ); #define DIALOG_INIT( type, err ) \ interaction_dialog_t* p_new = calloc( 1, sizeof( interaction_dialog_t ) ); \ @@ -83,109 +80,6 @@ static int DialogSend( interaction_dialog_t * ); p_new->psz_returned[0] = NULL; \ p_new->psz_returned[1] = NULL -/** - * Helper function to create a dialogue showing a progress-bar with some info - * - * \param p_this Parent vlc_object - * \param psz_title Title for the dialog (NULL implies main intf ) - * \param psz_status Current status - * \param f_position Current position (0.0->100.0) - * \param i_timeToGo Time (in sec) to go until process is finished - * \return Dialog, for use with UserProgressUpdate - */ -interaction_dialog_t * -__intf_Progress( vlc_object_t *p_this, const char *psz_title, - const char *psz_status, float f_pos, int i_time ) -{ - DIALOG_INIT( ONEWAY, NULL ); - p_new->psz_description = strdup( psz_status ); - p_new->val.f_float = f_pos; - p_new->i_timeToGo = i_time; - p_new->psz_alternate_button = strdup( _( "Cancel" ) ); - - if( psz_title ) - { - p_new->psz_title = strdup( psz_title ); - p_new->i_flags = DIALOG_USER_PROGRESS; - } - else - p_new->i_flags = DIALOG_INTF_PROGRESS; - - if( DialogSend( p_new ) == VLC_EGENERIC ) - { - DialogDestroy( p_new ); - return NULL; - } - return p_new; -} - -/** - * Update a progress bar in a dialogue - * - * \param p_dialog Dialog - * \param psz_status New status - * \param f_position New position (0.0->100.0) - * \param i_timeToGo Time (in sec) to go until process is finished - * \return nothing - */ -void intf_ProgressUpdate( interaction_dialog_t *p_dialog, - const char *psz_status, float f_pos, int i_time ) -{ - interaction_t *p_interaction = InteractionGet( p_dialog->p_parent ); - assert( p_interaction ); - - vlc_mutex_lock( &p_interaction->lock ); - free( p_dialog->psz_description ); - p_dialog->psz_description = strdup( psz_status ); - - p_dialog->val.f_float = f_pos; - p_dialog->i_timeToGo = i_time; - - p_dialog->i_status = UPDATED_DIALOG; - - vlc_cond_signal( &p_interaction->wait ); - vlc_mutex_unlock( &p_interaction->lock ); - vlc_object_release( p_interaction ); -} - -/** - * Helper function to communicate dialogue cancellations between the - * interface module and the caller - * - * \param p_dialog Dialog - * \return Either true or false - */ -bool intf_ProgressIsCancelled( interaction_dialog_t *p_dialog ) -{ - interaction_t *p_interaction = InteractionGet( p_dialog->p_parent ); - bool b_cancel; - - assert( p_interaction ); - vlc_mutex_lock( &p_interaction->lock ); - b_cancel = p_dialog->b_cancelled; - vlc_mutex_unlock( &p_interaction->lock ); - vlc_object_release( p_interaction ); - return b_cancel; -} - -/** - * Hide an interaction dialog - * - * \param p_dialog the dialog to hide - * \return nothing - */ -void intf_UserHide( interaction_dialog_t *p_dialog ) -{ - interaction_t *p_interaction = InteractionGet( p_dialog->p_parent ); - assert( p_interaction ); - - vlc_mutex_lock( &p_interaction->lock ); - p_dialog->i_status = ANSWERED_DIALOG; - vlc_cond_signal( &p_interaction->wait ); - vlc_mutex_unlock( &p_interaction->lock ); - vlc_object_release( p_interaction ); -} - /** * Create the initial interaction object * (should only be used in libvlc_InternalInit, LibVLC private) @@ -283,31 +177,6 @@ int interaction_Unregister( intf_thread_t *intf ) * The following functions are local **********************************************************************/ -/* Get the interaction object */ -static interaction_t * InteractionGet( vlc_object_t *p_this ) -{ - interaction_t *obj = libvlc_priv(p_this->p_libvlc)->p_interaction; - if( obj ) - vlc_object_hold( obj ); - return obj; -} - - -/* Look for an interface suitable for interaction, and hold it. */ -static intf_thread_t *SearchInterface( interaction_t *p_interaction ) -{ - libvlc_priv_t *priv = libvlc_priv( p_interaction->p_libvlc ); - intf_thread_t *intf; - - vlc_mutex_lock( &intf_lock ); - intf = priv->p_interaction_intf; - if( intf != NULL ) - vlc_object_hold( intf ); - vlc_mutex_unlock( &intf_lock ); - - return intf; -} - /* Destroy a dialog */ static void DialogDestroy( interaction_dialog_t *p_dialog ) { @@ -318,73 +187,6 @@ static void DialogDestroy( interaction_dialog_t *p_dialog ) free( p_dialog ); } -/* Ask for the dialog to be sent to the user. Wait for answer - * if required */ -static int DialogSend( interaction_dialog_t *p_dialog ) -{ - interaction_t *p_interaction; - intf_thread_t *p_intf; - - if( ( p_dialog->p_parent->i_flags & OBJECT_FLAGS_NOINTERACT ) - || !config_GetInt( p_dialog->p_parent, "interact" ) ) - return VLC_EGENERIC; - - p_interaction = InteractionGet( p_dialog->p_parent ); - if( !p_interaction ) - return VLC_EGENERIC; - - p_dialog->p_lock = &p_interaction->lock; - - p_intf = SearchInterface( p_interaction ); - if( p_intf == NULL ) - { - p_dialog->i_return = DIALOG_DEFAULT; /* Give default answer */ - - /* Pretend we have hidden and destroyed it */ - p_dialog->i_status = HIDING_DIALOG; - vlc_object_release( p_interaction ); - return VLC_SUCCESS; - } - p_dialog->p_interface = p_intf; - - p_dialog->i_action = INTERACT_NEW; - var_SetAddress( p_dialog->p_interface, "interaction", p_dialog ); - - /* Check if we have already added this dialog */ - vlc_mutex_lock( &p_interaction->lock ); - /* Add it to the queue, the main loop will send the orders to the - * interface */ - INSERT_ELEM( p_interaction->pp_dialogs, p_interaction->i_dialogs, - p_interaction->i_dialogs, p_dialog ); - - if( p_dialog->i_type == INTERACT_DIALOG_TWOWAY ) /* Wait for answer */ - { - vlc_cond_signal( &p_interaction->wait ); - while( p_dialog->i_status != ANSWERED_DIALOG && - p_dialog->i_status != HIDING_DIALOG && - p_dialog->i_status != HIDDEN_DIALOG && - !p_dialog->p_parent->b_die ) - { - vlc_mutex_unlock( &p_interaction->lock ); - msleep( 100000 ); - vlc_mutex_lock( &p_interaction->lock ); - } - if( p_dialog->p_parent->b_die ) - { - p_dialog->i_return = DIALOG_CANCELLED; - p_dialog->i_status = ANSWERED_DIALOG; - } - } - p_dialog->i_flags |= DIALOG_GOT_ANSWER; - vlc_cond_signal( &p_interaction->wait ); - vlc_mutex_unlock( &p_interaction->lock ); - vlc_object_release( p_interaction ); - if( p_dialog->i_type == INTERACT_DIALOG_TWOWAY ) - return p_dialog->i_return; - else - return VLC_SUCCESS; -} - static void* InteractionLoop( void *p_this ) { interaction_t *p_interaction = p_this; diff --git a/src/libvlccore.sym b/src/libvlccore.sym index 485dbf2869..9ae4f79331 100644 --- a/src/libvlccore.sym +++ b/src/libvlccore.sym @@ -199,12 +199,8 @@ interaction_Register interaction_Unregister __intf_Create __intf_Eject -__intf_Progress -intf_ProgressIsCancelled -intf_ProgressUpdate intf_RunThread intf_StopThread -intf_UserHide IsUTF8 libvlc_InternalAddIntf libvlc_InternalCleanup -- 2.39.2