-#define add_submodule( ) \
- p_submodule->pp_shortcuts[ i_shortcut ] = NULL; \
- p_submodule = \
- (module_t *)vlc_object_create( p_module, VLC_OBJECT_MODULE ); \
- vlc_object_attach( p_submodule, p_module ); \
- p_submodule->b_submodule = VLC_TRUE; \
- /* Nuahahaha! Heritage! Polymorphism! Ugliness!! */ \
- for( i_shortcut = 0; p_module->pp_shortcuts[ i_shortcut ]; i_shortcut++ ) \
- { \
- p_submodule->pp_shortcuts[ i_shortcut ] = \
- 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; \
- p_submodule->i_score = p_module->i_score; \
- p_submodule->i_cpu = p_module->i_cpu; \
- p_submodule->pf_activate = NULL; \
- p_submodule->pf_deactivate = NULL
-
-#define add_requirement( cap ) \
- p_module->i_cpu |= CPU_CAPABILITY_##cap