VLC  3.0.21
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
 

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:
FOREACH_ARRAY( addon_entry_t *p_entry, p_manager->p_priv->name.entries )\
addon_entry_Release( p_entry );\
FOREACH_END();\
ARRAY_RESET( p_manager->p_priv->name.entries );\
vlc_mutex_destroy( &p_manager->p_priv->name.lock );\
vlc_cond_destroy( &p_manager->p_priv->name.waitcond );\
vlc_interrupt_destroy( p_manager->p_priv->name.p_interrupt );

◆ 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)

Referenced by getHeldEntryByUUID().

◆ 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 
)

Gather addons info from repository (default "addons finder" module) If psz_uri is not NULL, only gather info from the pointed package.

References ARRAY_APPEND, FinderThread(), msg_Err, strdup(), vlc_clone(), vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_THREAD_PRIORITY_LOW.

◆ 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.

< Unspecified error

◆ addons_manager_LoadCatalog()

int addons_manager_LoadCatalog ( addons_manager_t p_manager)

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

< No error

◆ 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)
static

< Unspecified error

◆ finder_thread_interrupted()

static void finder_thread_interrupted ( void *  p_data)
static

◆ FinderThread()

static void * FinderThread ( void *  p_data)
static

Referenced by addons_manager_Gather().

◆ getHeldEntryByUUID()

static addon_entry_t* getHeldEntryByUUID ( addons_manager_t p_manager,
const addon_uuid_t  uuid 
)
static

◆ InstallEntry()

static int InstallEntry ( addons_manager_t p_manager,
addon_entry_t p_entry 
)
static

< Bad variable value

< Unspecified error

< No error

◆ installer_thread_interrupted()

static void installer_thread_interrupted ( void *  p_data)
static

◆ InstallerThread()

static void* InstallerThread ( void *  p_data)
static

< No error

< No error

◆ installOrRemoveAddon()

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

< Unspecified error

< No error

◆ LoadLocalStorage()

static void LoadLocalStorage ( addons_manager_t p_manager)
static

◆ MergeSources()

static void MergeSources ( addons_manager_t p_manager,
addon_entry_t **  pp_addons,
int  i_count 
)
static
addon_entry_t
Definition: vlc_addons.h:71
FOREACH_ARRAY
#define FOREACH_ARRAY(item, array)
Definition: vlc_arrays.h:227