Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
c3103fe4
Commit
c3103fe4
authored
Mar 08, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove intf_UserProgress
parent
aa3da61d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
209 deletions
+0
-209
include/vlc_interface.h
include/vlc_interface.h
+0
-7
src/interface/interaction.c
src/interface/interaction.c
+0
-198
src/libvlccore.sym
src/libvlccore.sym
+0
-4
No files found.
include/vlc_interface.h
View file @
c3103fe4
...
...
@@ -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
*
));
/** @} */
/** @} */
...
...
src/interface/interaction.c
View file @
c3103fe4
...
...
@@ -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
;
...
...
src/libvlccore.sym
View file @
c3103fe4
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment