Commit b7ccccfb authored by Antoine Cellerier's avatar Antoine Cellerier

Add support for config chain for interface modules

parent be14f0f8
...@@ -67,6 +67,8 @@ struct intf_thread_t ...@@ -67,6 +67,8 @@ struct intf_thread_t
intf_dialog_args_t * ); intf_dialog_args_t * );
vlc_mutex_t change_lock; vlc_mutex_t change_lock;
config_chain_t *p_cfg;
}; };
/** \brief Arguments passed to a dialogs provider /** \brief Arguments passed to a dialogs provider
......
...@@ -132,8 +132,8 @@ enum vlc_config_properties ...@@ -132,8 +132,8 @@ enum vlc_config_properties
/** /**
* Current plugin ABI version * Current plugin ABI version
*/ */
# define MODULE_SYMBOL 1_0_0c # define MODULE_SYMBOL 1_0_0d
# define MODULE_SUFFIX "__1_0_0c" # define MODULE_SUFFIX "__1_0_0d"
/***************************************************************************** /*****************************************************************************
* Add a few defines. You do not want to read this section. Really. * Add a few defines. You do not want to read this section. Really.
......
...@@ -69,6 +69,7 @@ static void intf_Destroy( vlc_object_t *obj ) ...@@ -69,6 +69,7 @@ static void intf_Destroy( vlc_object_t *obj )
module_unneed( p_intf, p_intf->p_module ); module_unneed( p_intf, p_intf->p_module );
free( p_intf->psz_intf ); free( p_intf->psz_intf );
config_ChainDestroy( p_intf->p_cfg );
vlc_mutex_destroy( &p_intf->change_lock ); vlc_mutex_destroy( &p_intf->change_lock );
} }
...@@ -94,8 +95,15 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module ) ...@@ -94,8 +95,15 @@ intf_thread_t* __intf_Create( vlc_object_t *p_this, const char *psz_module )
#endif #endif
/* Choose the best module */ /* Choose the best module */
p_intf->psz_intf = strdup( psz_module ); p_intf->p_cfg = NULL;
p_intf->p_module = module_need( p_intf, "interface", psz_module, true ); char *psz_parser = *psz_module == '$'
? var_CreateGetString(p_intf,psz_module+1)
: strdup( psz_module );
char *psz_tmp = config_ChainCreate( &p_intf->psz_intf, &p_intf->p_cfg,
psz_parser );
free( psz_tmp );
free( psz_parser );
p_intf->p_module = module_need( p_intf, "interface", p_intf->psz_intf, true );
if( p_intf->p_module == NULL ) if( p_intf->p_module == NULL )
{ {
......
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