VLC  4.0.0-dev
Data Structures | Macros | Typedefs | Functions
addons.c File Reference
Include dependency graph for addons.c:

Data Structures

struct  addon_entry_owner
struct  addons_manager_private_t


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


typedef struct addon_entry_owner addon_entry_owner_t


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


#define FREE_QUEUE (   name)
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:248

Referenced by addons_manager_Delete().


#define INIT_QUEUE (   name)
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 );

Referenced by addons_manager_New().

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_t* addon_entry_New ( void  )

◆ addon_entry_Release()

void addon_entry_Release ( addon_entry_t p_entry)

◆ addons_manager_Delete()

void addons_manager_Delete ( addons_manager_t p_manager)

◆ 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_t* addons_manager_New ( vlc_object_t p_this,
const struct addons_manager_owner *restrict  owner 

◆ addons_manager_Remove()

int addons_manager_Remove ( addons_manager_t p_manager,
const addon_uuid_t  uuid 

◆ addons_manager_WriteCatalog()

static int addons_manager_WriteCatalog ( addons_manager_t p_manager)

◆ finder_thread_interrupted()

static void finder_thread_interrupted ( void *  p_data)

◆ FinderThread()

static void * FinderThread ( void *  p_data)

◆ getHeldEntryByUUID()

static addon_entry_t* getHeldEntryByUUID ( addons_manager_t p_manager,
const addon_uuid_t  uuid 

◆ InstallEntry()

static int InstallEntry ( addons_manager_t p_manager,
addon_entry_t p_entry 

◆ installer_thread_interrupted()

static void installer_thread_interrupted ( void *  p_data)

◆ InstallerThread()

static void* InstallerThread ( void *  p_data)

◆ installOrRemoveAddon()

static int installOrRemoveAddon ( addons_manager_t p_manager,
addon_entry_t p_entry,
bool  b_install 

◆ LoadLocalStorage()

static void LoadLocalStorage ( addons_manager_t p_manager)

◆ MergeSources()

static void MergeSources ( addons_manager_t p_manager,
addon_entry_t **  pp_addons,
int  i_count