X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fmodules_inner.h;h=fc36a08162a7ad18a9c19d1954c497e43471c21e;hb=87f2a351f02365346cfebe849e7627f4651f3cc9;hp=7e0b128a187439048c3235257f3f39c929b2dde5;hpb=d3de64660f62998d7295905aaca867ba9f9e5ec8;p=vlc diff --git a/include/modules_inner.h b/include/modules_inner.h index 7e0b128a18..fc36a08162 100644 --- a/include/modules_inner.h +++ b/include/modules_inner.h @@ -1,8 +1,8 @@ /***************************************************************************** * modules_inner.h : Macros used from within a module. ***************************************************************************** - * Copyright (C) 2001 VideoLAN - * $Id: modules_inner.h,v 1.41 2003/12/13 17:16:11 gbazin Exp $ + * Copyright (C) 2001 the VideoLAN team + * $Id$ * * Authors: Samuel Hocevar * @@ -58,7 +58,7 @@ # define DECLARE_SYMBOLS struct _u_n_u_s_e_d_ # define STORE_SYMBOLS struct _u_n_u_s_e_d_ #elif defined( __PLUGIN__ ) -# define E_( function ) function +# define E_( function ) CONCATENATE( function, MODULE_SYMBOL ) # define __VLC_SYMBOL( symbol ) CONCATENATE( symbol, MODULE_SYMBOL ) # define DECLARE_SYMBOLS module_symbols_t* p_symbols # define STORE_SYMBOLS p_symbols = p_module->p_symbols @@ -78,6 +78,12 @@ # define EXTERN_SYMBOL #endif +#if defined( USE_DLL ) +# define IMPORT_SYMBOL __declspec(dllimport) +#else +# define IMPORT_SYMBOL +#endif + #define MODULE_STRING STRINGIFY( MODULE_NAME ) /* @@ -93,11 +99,13 @@ { \ int i_shortcut = 1, i_config = -1; \ module_config_t *p_config = NULL; \ + static module_config_t config_end = {CONFIG_HINT_END}; \ STORE_SYMBOLS; \ p_module->b_submodule = VLC_FALSE; \ p_module->b_unloadable = VLC_TRUE; \ p_module->b_reentrant = VLC_TRUE; \ p_module->psz_object_name = MODULE_STRING; \ + p_module->psz_shortname = NULL; \ p_module->psz_longname = MODULE_STRING; \ p_module->pp_shortcuts[ 0 ] = MODULE_STRING; \ p_module->i_cpu = 0; \ @@ -114,11 +122,11 @@ } \ if( p_config ) \ { \ - p_config[ ++i_config ] = (module_config_t){ CONFIG_HINT_END }; \ + p_config[ ++i_config ] = config_end; \ config_Duplicate( p_module, p_config ); \ free( p_config ); \ } \ - else config_Duplicate(p_module, &(module_config_t){CONFIG_HINT_END}); \ + else config_Duplicate( p_module, &config_end ); \ if( p_module->p_config == NULL ) \ { \ return VLC_EGENERIC; \ @@ -141,6 +149,7 @@ p_module->pp_shortcuts[ i_shortcut ]; \ } \ p_submodule->psz_object_name = p_module->psz_object_name; \ + p_submodule->psz_shortname = p_module->psz_shortname; \ p_submodule->psz_longname = p_module->psz_longname; \ p_submodule->psz_program = p_module->psz_program; \ p_submodule->psz_capability = p_module->psz_capability; \ @@ -156,6 +165,9 @@ p_submodule->pp_shortcuts[ i_shortcut ] = shortcut; \ i_shortcut++ +#define set_shortname( desc ) \ + p_submodule->psz_shortname = desc + #define set_description( desc ) \ p_submodule->psz_longname = desc