VLC 4.0.0-dev
addons.c File Reference
Include dependency graph for addons.c:

Data Structures

struct  addon_entry_owner
 
struct  addons_manager_private_t
 

Macros

#define INIT_QUEUE(name)
 
#define FREE_QUEUE(name)
 

Typedefs

typedef struct addon_entry_owner addon_entry_owner_t
 

Functions

static void * FinderThread (void *)
 
static void LoadLocalStorage (addons_manager_t *p_manager)
 
addon_entry_taddon_entry_New (void)
 addon entry lifecycle More...
 
addon_entry_taddon_entry_Hold (addon_entry_t *p_entry)
 
void addon_entry_Release (addon_entry_t *p_entry)
 
addons_manager_taddons_manager_New (vlc_object_t *p_this, const struct addons_manager_owner *restrict owner)
 
void addons_manager_Delete (addons_manager_t *p_manager)
 
void addons_manager_Gather (addons_manager_t *p_manager, const char *psz_uri)
 Gather addons info from repository (default "addons finder" module) If psz_uri is not NULL, only gather info from the pointed package. More...
 
static addon_entry_tgetHeldEntryByUUID (addons_manager_t *p_manager, const addon_uuid_t uuid)
 
static void MergeSources (addons_manager_t *p_manager, addon_entry_t **pp_addons, int i_count)
 
static void finder_thread_interrupted (void *p_data)
 
static int addons_manager_WriteCatalog (addons_manager_t *p_manager)
 
int addons_manager_LoadCatalog (addons_manager_t *p_manager)
 Charge currently installed, usable and manageable addons (default "addons storage" module) More...
 
static int installOrRemoveAddon (addons_manager_t *p_manager, addon_entry_t *p_entry, bool b_install)
 
static void installer_thread_interrupted (void *p_data)
 
static void * InstallerThread (void *p_data)
 
static int InstallEntry (addons_manager_t *p_manager, addon_entry_t *p_entry)
 
int addons_manager_Install (addons_manager_t *p_manager, const addon_uuid_t uuid)
 Install or Remove the addon identified by its uuid. More...
 
int addons_manager_Remove (addons_manager_t *p_manager, const addon_uuid_t uuid)
 

Macro Definition Documentation

◆ FREE_QUEUE

#define FREE_QUEUE (   name)
Value:
ARRAY_FOREACH( p_entry, p_manager->p_priv->name.entries )\
addon_entry_Release( p_entry );\
ARRAY_RESET( p_manager->p_priv->name.entries );\
vlc_interrupt_destroy( p_manager->p_priv->name.p_interrupt );
#define ARRAY_FOREACH(item, array)
Definition: vlc_arrays.h:246

◆ INIT_QUEUE

#define INIT_QUEUE (   name)
Value:
p_manager->p_priv->name.b_live = false;\
vlc_mutex_init( &p_manager->p_priv->name.lock );\
vlc_cond_init( &p_manager->p_priv->name.waitcond );\
ARRAY_INIT( p_manager->p_priv->name.entries );

Typedef Documentation

◆ addon_entry_owner_t

Function Documentation

◆ addon_entry_Hold()

addon_entry_t * addon_entry_Hold ( addon_entry_t p_entry)

◆ addon_entry_New()

◆ addon_entry_Release()

◆ addons_manager_Delete()

◆ addons_manager_Gather()

void addons_manager_Gather ( addons_manager_t p_manager,
const char *  psz_uri 
)

◆ addons_manager_Install()

int addons_manager_Install ( addons_manager_t p_manager,
const addon_uuid_t  uuid 
)

Install or Remove the addon identified by its uuid.

References addon_entry_Release(), getHeldEntryByUUID(), InstallEntry(), and VLC_EGENERIC.

Referenced by addons_manager_Remove().

◆ addons_manager_LoadCatalog()

int addons_manager_LoadCatalog ( addons_manager_t p_manager)

Charge currently installed, usable and manageable addons (default "addons storage" module)

References LoadLocalStorage(), and VLC_SUCCESS.

◆ addons_manager_New()

◆ addons_manager_Remove()

int addons_manager_Remove ( addons_manager_t p_manager,
const addon_uuid_t  uuid 
)

◆ addons_manager_WriteCatalog()

◆ finder_thread_interrupted()

◆ FinderThread()

◆ getHeldEntryByUUID()

◆ InstallEntry()

◆ installer_thread_interrupted()

◆ InstallerThread()

◆ installOrRemoveAddon()

◆ LoadLocalStorage()

◆ MergeSources()