/**
* Module descriptor
*/
+#ifndef __PLUGIN__FIXME___
+/* FIXME: scheduled for privatization */
struct module_t
{
VLC_COMMON_MEMBERS
/** Shortcuts to the module */
const char *pp_shortcuts[ MODULE_SHORTCUT_MAX ];
- const char *psz_capability; /**< Capability */
+ char *psz_capability; /**< Capability */
int i_score; /**< Score for the capability */
uint32_t i_cpu; /**< Required CPU capabilities */
vlc_bool_t b_builtin; /* Set to true if the module is built in */
vlc_bool_t b_loaded; /* Set to true if the dll is loaded */
};
+#endif
/*****************************************************************************
* Exported functions.
#define module_Exists(a,b) __module_Exists(VLC_OBJECT(a),b)
VLC_EXPORT( vlc_bool_t, __module_Exists, ( vlc_object_t *, const char * ) );
+/* Use only if you know what you're doing... */
+#define module_FindName(a,b) __module_FindName(VLC_OBJECT(a),b)
+VLC_EXPORT( module_t *, __module_FindName, ( vlc_object_t *, const char * ) );
+
+/* Return a NULL terminated array with the names of the modules that have a
+ * certain capability.
+ * Free after uses both the string and the table. */
+ #define module_GetModulesNamesForCapability(a,b) \
+ __module_GetModulesNamesForCapability(VLC_OBJECT(a),b)
+VLC_EXPORT(char **, __module_GetModulesNamesForCapability,
+ ( vlc_object_t *p_this, const char * psz_capability ) );
+
VLC_EXPORT( module_t *, vlc_module_create, ( vlc_object_t * ) );
VLC_EXPORT( module_t *, vlc_submodule_create, ( module_t * ) );
VLC_EXPORT( int, vlc_module_set, (module_t *module, int propid, void *value) );
-enum
+enum vlc_module_properties
{
/* DO NOT EVER REMOVE, INSERT OR REPLACE ANY ITEM! It would break the ABI!
* Append new items at the end ONLY. */
VLC_MODULE_NAME
};
+VLC_EXPORT( vlc_bool_t, module_IsCapable, ( const module_t *m, const char *cap ) );
+VLC_EXPORT( const char *, module_GetObjName, ( const module_t *m ) );
+VLC_EXPORT( const char *, module_GetName, ( const module_t *m, vlc_bool_t long_name ) );
+#define module_GetLongName( m ) module_GetName( m, VLC_TRUE )
+VLC_EXPORT( const char *, module_GetHelp, ( const module_t *m ) );