VLC_API module_config_t * module_config_get( const module_t *, unsigned * ) VLC_USED;
VLC_API void module_config_free( module_config_t * );
-VLC_API module_t * module_hold(module_t *module);
-VLC_API void module_release(module_t *module);
VLC_API void module_list_free(module_t **);
VLC_API module_t ** module_list_get(size_t *n) VLC_USED;
}
}
module_config_free (p_config);
- module_release (p_main);
o_usedHotkeys = [[NSArray alloc] initWithArray: o_usedHotkeys copyItems: YES];
}
}
}
module_config_free (p_config);
- module_release (p_main);
-
+
[o_hotkeyDescriptions release];
o_hotkeyDescriptions = [[NSArray alloc] initWithArray: o_tempArray_desc copyItems: YES];
[o_tempArray_desc release];
}
}
module_config_free( p_config );
- module_release( p_module );
module_t **p_list = module_list_get( NULL );
}
if (name.contains( text, cs ) || head.contains( text, cs ) || help.contains( text, cs ))
- {
- module_release( p_module );
return true;
- }
if( p_item ) do
{
if( p_item->b_internal ) continue;
if ( p_item->psz_text && qtr( p_item->psz_text ).contains( text, cs ) )
- {
- module_release( p_module );
return true;
- }
}
while (
!(
&& ( ++p_item < p_end )
);
-
- module_release( p_module );
return false;
}
layout->addWidget( box, i_line, 0, 1, -1 );
}
- module_release (p_module);
-
scrolled_area->setSizePolicy( QSizePolicy::Preferred,QSizePolicy::Fixed );
scrolled_area->setLayout( layout );
scroller->setWidget( scrolled_area );
}
else
{
- module_release (p_obj);
msg_Err( p_intf, "Unknown video filter type." );
return;
}
- module_release (p_obj);
psz_string = config_GetPsz( p_intf, psz_filter_type );
qDeleteAll( controls );
delete adv;
module_config_free( p_config );
- module_release (p_module);
}
}
}
module_config_free (p_config);
- module_release (p_main);
table->resizeColumnToContents( 0 );
module_get_object
module_get_score
module_gettext
-module_hold
module_list_free
module_list_get
module_need
module_provides
-module_release
module_unneed
vlc_module_load
vlc_module_unload
{
if (reader->p_stream)
module_stop(reader, reader->p_module);
- module_release(reader->p_module);
vlc_object_release(reader);
}
reader->p_stream = stream;
if ((stream != NULL) && module_start(reader, reader->p_module))
{
- module_release(reader->p_module);
vlc_object_release(reader);
return NULL;
}
#include "config/configuration.h"
#include "libvlc.h"
-static void vlc_module_destruct (gc_object_t *obj)
-{
- module_t *module = vlc_priv (obj, module_t);
-
- free (module->pp_shortcuts);
- free (module);
-}
-
module_t *vlc_module_create (void)
{
module_t *module = malloc (sizeof (*module));
module->submodule = NULL;
module->parent = NULL;
module->submodule_count = 0;
- vlc_gc_init (module, vlc_module_destruct);
module->psz_shortname = NULL;
module->psz_longname = NULL;
return module;
}
-
-static void vlc_submodule_destruct (gc_object_t *obj)
+void vlc_module_destroy (module_t *module)
{
- module_t *module = vlc_priv (obj, module_t);
-
free (module->pp_shortcuts);
free (module);
}
return NULL;
/* TODO: replace module/submodules with plugin/modules */
- vlc_gc_init (submodule, vlc_submodule_destruct);
-
submodule->next = module->submodule;
module->submodule = submodule;
module->submodule_count++;
#endif
}
-module_t *module_hold (module_t *m)
-{
- vlc_hold (&m->vlc_gc_data);
- return m;
-}
-
-void module_release (module_t *m)
-{
- vlc_release (&m->vlc_gc_data);
-}
-
#undef module_start
int module_start (vlc_object_t *obj, const module_t *m)
{
*/
void module_list_free (module_t **list)
{
- if (list == NULL)
- return;
-
- for (size_t i = 0; list[i] != NULL; i++)
- module_release (list[i]);
free (list);
}
}
tab = nt;
- tab[i++] = module_hold (mod);
+ tab[i++] = mod;
for (module_t *subm = mod->submodule; subm; subm = subm->next)
- tab[i++] = module_hold (subm);
+ tab[i++] = subm;
tab[i] = NULL;
}
if (n != NULL)
found_shortcut:
/* Store this new module */
- p_list[count].p_module = module_hold (p_module);
+ p_list[count].p_module = p_module;
p_list[count].i_score = p_module->i_score + i_shortcut_bonus;
p_list[count].b_force = i_shortcut_bonus && b_strict;
count++;
if( p_new_module == NULL )
{ /* Corrupted module */
msg_Err( p_this, "possibly corrupt module cache" );
- module_release( p_cand );
continue;
}
CacheMerge( p_this, p_real, p_new_module );
case VLC_ETIMEOUT:
/* good module, but aborted */
- module_release( p_cand );
break;
default: /* bad module */
- module_release( p_cand );
continue;
}
-
- /* Release the remaining modules */
- while (++i < count)
- module_release (p_list[i].p_module);
}
va_end (args);
deinit(module->pf_deactivate, ap);
va_end(ap);
}
- module_release(module);
}
if (unlikely(module->i_shortcuts == 0))
continue;
if (!strcmp (module->pp_shortcuts[0], name))
- {
- module_hold (module);
break;
- }
}
module_list_free (list);
return module;
*/
bool module_exists (const char * psz_name)
{
- module_t *p_module = module_find (psz_name);
- if( p_module )
- module_release (p_module);
- return p_module != NULL;
+ return module_find (psz_name) != NULL;
}
/**
return NULL;
for (size_t i = 0; (module = list[i]) != NULL; i++)
- {
for (size_t j = 0; j < module->i_shortcuts; j++)
- {
if (!strcmp (module->pp_shortcuts[j], psz_shortcut))
- {
- module_hold (module);
goto out;
- }
- }
- }
out:
module_list_free (list);
return module;
return p_module;
error:
free( p_module->psz_filename );
- module_release( p_module );
+ vlc_module_destroy (p_module);
module_Unload( handle );
return NULL;
}
/* With a well-written module we shouldn't have to print an
* additional error message here, but just make sure. */
msg_Err( p_this, "failed calling entry point in builtin module" );
- module_release( p_module );
+ vlc_module_destroy (p_module);
return -1;
}
{
module_t *submodule = p_module->submodule;
p_module->submodule = submodule->next;
- module_release (submodule);
+ vlc_module_destroy (submodule);
}
config_Free( p_module );
- module_release( p_module );
+ vlc_module_destroy (p_module);
}
*/
struct module_t
{
- gc_object_t vlc_gc_data;
-
module_t *next;
module_t *parent;
module_t *submodule;
module_t *vlc_module_create (void);
module_t *vlc_submodule_create (module_t *module);
+void vlc_module_destroy (module_t *);
void module_InitBank( vlc_object_t * );
#define module_InitBank(a) module_InitBank(VLC_OBJECT(a))
}
else
{
- module_release( p_obj );
msg_Err( p_vout, "Unknown video filter type." );
return;
}
- module_release( p_obj );
psz_string = var_GetString( p_vout, psz_filter_type );