X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_interface.h;h=b525a1bd5d9ba754d42f6fc68b51515af962c247;hb=cb6a3f8c0545cc6b3926b1ecd82cb55ed9e61308;hp=78388518a482f62dc4b2539776f9fee01dbc4dca;hpb=f6d917cb446f91abd2033725597a9ef3b8ea84e2;p=vlc diff --git a/include/vlc_interface.h b/include/vlc_interface.h index 78388518a4..b525a1bd5d 100644 --- a/include/vlc_interface.h +++ b/include/vlc_interface.h @@ -44,11 +44,14 @@ typedef struct intf_dialog_args_t intf_dialog_args_t; * @{ */ +typedef struct intf_sys_t intf_sys_t; + /** Describe all interface-specific data of the interface thread */ -struct intf_thread_t +typedef struct intf_thread_t { VLC_COMMON_MEMBERS + struct intf_thread_t *p_next; /** LibVLC interfaces book keeping */ /* Thread properties and locks */ #if defined( __APPLE__ ) || defined( WIN32 ) bool b_should_run_on_first_thread; @@ -60,16 +63,14 @@ struct intf_thread_t /** Interface module */ module_t * p_module; - void ( *pf_run ) ( intf_thread_t * ); /** Run function */ + void ( *pf_run ) ( struct intf_thread_t * ); /** Run function */ /** Specific for dialogs providers */ - void ( *pf_show_dialog ) ( intf_thread_t *, int, int, + void ( *pf_show_dialog ) ( struct intf_thread_t *, int, int, intf_dialog_args_t * ); - vlc_mutex_t change_lock; - config_chain_t *p_cfg; -}; +} intf_thread_t; /** \brief Arguments passed to a dialogs provider * This describes the arguments passed to the dialogs provider. They are @@ -92,25 +93,20 @@ struct intf_dialog_args_t bool b_multiple; /* Specific to INTF_DIALOG_INTERACTION */ - interaction_dialog_t *p_dialog; + struct interaction_dialog_t *p_dialog; }; /***************************************************************************** * Prototypes *****************************************************************************/ -#define intf_Create(a,b) __intf_Create(VLC_OBJECT(a),b) -VLC_EXPORT( intf_thread_t *, __intf_Create, ( vlc_object_t *, const char * ) ); -VLC_EXPORT( int, intf_RunThread, ( intf_thread_t * ) ); -VLC_EXPORT( void, intf_StopThread, ( intf_thread_t * ) ); +VLC_EXPORT( int, intf_Create, ( vlc_object_t *, const char * ) ); +#define intf_Create(a,b) intf_Create(VLC_OBJECT(a),b) #define intf_Eject(a,b) __intf_Eject(VLC_OBJECT(a),b) VLC_EXPORT( int, __intf_Eject, ( vlc_object_t *, const char * ) ); VLC_EXPORT( void, libvlc_Quit, ( libvlc_int_t * ) ); -VLC_EXPORT( int, interaction_Register, ( intf_thread_t * ) ); -VLC_EXPORT( int, interaction_Unregister, ( intf_thread_t * ) ); - /*@}*/ /***************************************************************************** @@ -171,17 +167,19 @@ typedef enum vlc_dialog { /* Useful text messages shared by interfaces */ #define INTF_ABOUT_MSG LICENSE_MSG -#define EXTENSIONS_AUDIO "*.a52;*.aac;*.ac3;*.ape;*.dts;*.flac;*.m4a;*.m4p;*.mka;" \ - "*.mlp;*.mod;*.mp1;*.mp2;*.mp3;*.oga;*.ogg;*.oma;*.spx;" \ - "*.wav;*.wma;*.wv;*.xm" +#define EXTENSIONS_AUDIO "*.a52;*.aac;*.ac3;*.aiff;*.aob;*.ape;" \ + "*.dts;*.flac;*.it;" \ + "*.m4a;*.m4p;*.mka;*.mlp;*.mod;*.mp1;*.mp2;*.mp3;*.mpc" \ + "*.oga;*.ogg;*.oma;*.s3m;*.spx;" \ + "*.vqf;*.w64;*.wav;*.wma;*.wv;*.xm" #define EXTENSIONS_VIDEO "*.asf;*.avi;*.divx;*.dv;*.flv;*.gxf;*.iso;*.m1v;*.m2v;" \ "*.m2t;*.m2ts;*.m4v;*.mkv;*.mov;*.mp2;*.mp4;*.mpeg;*.mpeg1;" \ "*.mpeg2;*.mpeg4;*.mpg;*.mts;*.mxf;*.nuv;" \ "*.ogg;*.ogm;*.ogv;*.ogx;*.ps;" \ - "*.rec;*.rm;*.rmvb;*.ts;*.vob;*.wmv;" + "*.rec;*.rm;*.rmvb;*.tod;*.ts;*.vob;*.wmv" -#define EXTENSIONS_PLAYLIST "*.asx;*.b4s;*.m3u;*.pls;*.vlc;*.xspf" +#define EXTENSIONS_PLAYLIST "*.asx;*.b4s;*.m3u;*.pls;*.ram;*.rar;*.vlc;*.xspf;*.zip" #define EXTENSIONS_MEDIA EXTENSIONS_VIDEO ";" EXTENSIONS_AUDIO ";" \ EXTENSIONS_PLAYLIST @@ -198,7 +196,7 @@ typedef enum vlc_dialog { /** * This structure describes a piece of interaction with the user */ -struct interaction_dialog_t +typedef struct interaction_dialog_t { int i_type; ///< Type identifier char *psz_title; ///< Title @@ -225,7 +223,7 @@ struct interaction_dialog_t //for interaction intf_thread_t *p_interface; vlc_mutex_t *p_lock; -}; +} interaction_dialog_t; /** * Possible flags . Dialog types @@ -242,7 +240,6 @@ struct interaction_dialog_t /** Possible return codes */ enum { - DIALOG_DEFAULT, DIALOG_OK_YES, DIALOG_NO, DIALOG_CANCELLED @@ -251,21 +248,10 @@ enum /** Possible status */ enum { - SENT_DIALOG=1, ///< Sent to interface - UPDATED_DIALOG, ///< Update to send ANSWERED_DIALOG, ///< Got "answer" - HIDING_DIALOG, ///< Hiding requested - HIDDEN_DIALOG, ///< Now hidden. Requesting destruction DESTROYED_DIALOG, ///< Interface has destroyed it }; -/** Possible interaction types */ -enum -{ - INTERACT_DIALOG_ONEWAY, ///< Dialog box without feedback - INTERACT_DIALOG_TWOWAY, ///< Dialog box with feedback -}; - /** Possible actions */ enum { @@ -275,23 +261,10 @@ enum INTERACT_DESTROY }; -/*************************************************************************** - * Exported symbols - ***************************************************************************/ - -#define intf_UserLoginPassword( a, b, c, d, e... ) __intf_UserLoginPassword( VLC_OBJECT(a),b,c,d,e) -VLC_EXPORT( int, __intf_UserLoginPassword,( vlc_object_t*, const char*, const char*, char **, char **) ); -#define intf_UserYesNo( a, b, c, d, e, f ) __intf_UserYesNo( VLC_OBJECT(a),b,c, d, e, f ) -VLC_EXPORT( int, __intf_UserYesNo,( vlc_object_t*, const char*, const char*, const char*, const char*, const char*) ); -#define intf_UserStringInput( a, b, c, d ) __intf_UserStringInput( VLC_OBJECT(a),b,c,d ) -VLC_EXPORT( int, __intf_UserStringInput,(vlc_object_t*, const char*, const char*, char **) ); - -#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 * )); +#define intf_UserStringInput( a, b, c, d ) (VLC_OBJECT(a),b,c,d, VLC_EGENERIC) +#define interaction_Register( t ) (t, VLC_EGENERIC) +#define interaction_Unregister( t ) (t, VLC_EGENERIC) + /** @} */ /** @} */