]> git.sesse.net Git - vlc/blobdiff - src/modules/modules.h
modules CacheFind(): remove unused parameter
[vlc] / src / modules / modules.h
index 57ea9eb392a232b40c69ce9984d1f27dcf763e0f..8070d2b7deac70da7f5f2886b2ee3d30d6cabcf8 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
+#if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__)
+# error This header file can only be included from LibVLC.
+#endif
+
+#ifndef __LIBVLC_MODULES_H
+# define __LIBVLC_MODULES_H 1
+
+
 /* Number of tries before we unload an unused module */
 #define MODULE_HIDE_DELAY 50
 
@@ -34,9 +42,6 @@ struct module_bank_t
     VLC_COMMON_MEMBERS
 
     int              i_usage;
-#ifndef HAVE_SHARED_LIBVLC
-    module_symbols_t symbols;
-#endif
 
     vlc_bool_t       b_main;
     vlc_bool_t       b_builtins;
@@ -71,7 +76,6 @@ struct module_cache_t
 };
 
 
-#if 0
 #define MODULE_SHORTCUT_MAX 50
 
 /* The module handle type. */
@@ -104,15 +108,10 @@ struct module_t
     const char *psz_longname;                   /**< Module descriptive name */
     const char *psz_help;        /**< Long help string for "special" modules */
 
-    /*
-     * Variables set by the module to tell us what it can do
-     */
-    const char *psz_program; /**< Program name which will activate the module */
-
     /** 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 */
 
@@ -141,13 +140,7 @@ 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
 
 
 #define module_InitBank(a)     __module_InitBank(VLC_OBJECT(a))
@@ -160,3 +153,16 @@ void  __module_LoadPlugins     ( vlc_object_t * );
 void  __module_EndBank         ( vlc_object_t * );
 #define module_ResetBank(a)    __module_ResetBank(VLC_OBJECT(a))
 void  __module_ResetBank       ( vlc_object_t * );
+
+/* Low-level OS-dependant handler */
+int  module_Call   (module_t *);
+int  module_Load   (vlc_object_t *, const char *, module_handle_t *);
+void module_Unload (module_handle_t);
+
+/* Plugins cache */
+void   CacheMerge (vlc_object_t *, module_t *, module_t *);
+void   CacheLoad  (vlc_object_t * );
+void   CacheSave  (vlc_object_t * );
+module_cache_t * CacheFind (const char *, int64_t, int64_t);
+
+#endif /* !__LIBVLC_MODULES_H */