#include <vlc/vlc.h>
#include <assert.h>
+static const char default_name[] = "unnamed";
+
+module_t *vlc_module_create (vlc_object_t *obj)
+{
+ module_t *module = vlc_object_create (obj, VLC_OBJECT_MODULE);
+ if (module == NULL)
+ return NULL;
+
+#ifndef HAVE_SHARED_LIBVLC
+ module->p_symbols = &obj->p_libvlc_global->p_module_bank->symbols;
+#endif
+ module->b_loaded = module->b_submodule = VLC_FALSE;
+ module->b_reentrant = module->b_unloadable = VLC_TRUE;
+ module->psz_object_name = module->psz_longname = default_name;
+ module->psz_help = module->psz_shortname = NULL;
+ module->pp_shortcuts[0] = default_name;
+ for (unsigned i = 1; i < MODULE_SHORTCUT_MAX; i++)
+ module->pp_shortcuts[i] = NULL;
+
+ module->i_cpu = 0;
+ module->psz_program = NULL;
+ module->psz_capability = "";
+ module->i_score = 1;
+ module->pf_activate = NULL;
+ module->pf_deactivate = NULL;
+ return module;
+}
+
module_t *vlc_submodule_create (module_t *module)
{
return submodule;
}
+
int vlc_module_set (module_t *module, int propid, void *value)
{
switch (propid)
module->b_unloadable = (value != NULL);
break;
+ case VLC_MODULE_NAME:
+ module->pp_shortcuts[0] = module->psz_object_name = (char *)value;
+ if (module->psz_longname == default_name)
+ module->psz_longname = (char *)value;
+ break;
+
default:
msg_Err (module, "unknown module property %d", propid);
msg_Err (module, "LibVLC might be too old to use this module.");