From ec49740468c885f4c3dfc76754088fbf68bb502b Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Sun, 4 Feb 2007 23:15:19 +0000 Subject: [PATCH] Add a module_Exists() function for Simple_Prefs. Don't use too much this function. --- include/vlc_modules.h | 2 ++ src/misc/modules.c | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/include/vlc_modules.h b/include/vlc_modules.h index 7f724bdf5f..9b4caa94e1 100644 --- a/include/vlc_modules.h +++ b/include/vlc_modules.h @@ -108,3 +108,5 @@ struct module_t VLC_EXPORT( module_t *, __module_Need, ( vlc_object_t *, const char *, const char *, vlc_bool_t ) ); #define module_Unneed(a,b) __module_Unneed(VLC_OBJECT(a),b) VLC_EXPORT( void, __module_Unneed, ( vlc_object_t *, module_t * ) ); +#define module_Exist(a,b) __module_Exists(VLC_OBJECT(a),b) +VLC_EXPORT( vlc_bool_t, __module_Exists, ( vlc_object_t *, const char * ) ); diff --git a/src/misc/modules.c b/src/misc/modules.c index 25b5bad6ab..d799571926 100644 --- a/src/misc/modules.c +++ b/src/misc/modules.c @@ -740,6 +740,31 @@ void __module_Unneed( vlc_object_t * p_this, module_t * p_module ) return; } +/***************************************************************************** + * module_Exists: tell if a module exists. + ***************************************************************************** + * This function is a boolean function that tells if a module exist or not. + *****************************************************************************/ + +vlc_bool_t __module_Exists( vlc_object_t *p_this, const char * psz_name ) +{ + vlc_list_t *p_list; + int i; + p_list = vlc_list_find( p_this, VLC_OBJECT_MODULE, FIND_ANYWHERE ); + for( i = 0 ; i < p_list->i_count; i++) + { + if (!strcmp( + ((module_t *) p_list->p_values[i].p_object)->psz_shortname , + psz_name ) ) + { + /* We can release the list, and return yes */ + vlc_list_release( p_list ); return VLC_TRUE; + } + } + vlc_list_release( p_list ); return VLC_FALSE; +} + + /***************************************************************************** * Following functions are local. *****************************************************************************/ -- 2.39.2