]> git.sesse.net Git - vlc/blobdiff - include/vlc_modules.h
More access functions around module_t
[vlc] / include / vlc_modules.h
index 7d15e58789d1ff0fd3ecbec5513541b9a6838cb1..0fb00287bc5d87b21bd8d72ac59e0ae039a08b7f 100644 (file)
@@ -46,6 +46,8 @@ typedef shl_t module_handle_t;
 /**
  * Module descriptor
  */
+#ifndef __PLUGIN__
+/* FIXME: scheduled for privatization */
 struct module_t
 {
     VLC_COMMON_MEMBERS
@@ -65,7 +67,7 @@ struct module_t
     /** 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 */
 
@@ -94,12 +96,8 @@ struct module_t
 
     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 */
-
-#ifndef HAVE_SHARED_LIBVLC
-    /* Legacy symbols table */
-    module_symbols_t *p_symbols;
-#endif
 };
+#endif
 
 /*****************************************************************************
  * Exported functions.
@@ -111,10 +109,11 @@ VLC_EXPORT( void, __module_Unneed, ( vlc_object_t *, module_t * ) );
 #define module_Exists(a,b) __module_Exists(VLC_OBJECT(a),b)
 VLC_EXPORT( vlc_bool_t,  __module_Exists, ( vlc_object_t *, const char * ) );
 
+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. */
@@ -128,6 +127,11 @@ enum
     VLC_MODULE_PROGRAM,
     VLC_MODULE_CB_OPEN,
     VLC_MODULE_CB_CLOSE,
-    VLC_MODULE_UNLOADABLE
+    VLC_MODULE_UNLOADABLE,
+    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 ) );
+