Go to the documentation of this file.
19 #ifndef BACKGROUND_WORKER_H__
20 #define BACKGROUND_WORKER_H__
53 void( *
pf_hold )(
void* entity );
72 int( *
pf_start )(
void* owner,
void* entity,
void** out );
85 int( *
pf_probe )(
void* owner,
void* handle );
101 void( *
pf_stop )(
void* owner,
void* handle );
152 void*
id,
int timeout );
char * psz_description
Definition: vlc_addons.h:83
#define KEY_MEDIA_REPEAT
Definition: vlc_actions.h:96
char * psz_summary
Definition: vlc_addons.h:82
Definition: vlc_actions.h:234
#define KEY_PAUSE
Definition: vlc_actions.h:77
int addons_manager_Install(addons_manager_t *p_manager, const addon_uuid_t uuid)
Install or Remove the addon identified by its uuid.
Definition: addons.c:551
Definition: vlc_actions.h:243
#define KEY_UP
Definition: vlc_actions.h:55
char * psz_source_uri
Definition: vlc_addons.h:85
void background_worker_Delete(struct background_worker *worker)
Delete a background-worker.
Definition: background_worker.c:258
void vlc_CPU_init(void)
Determines the CPU capabilities and stores them in cpu_flags.
Definition: cpu.c:122
#define KEY_VOLUME_MUTE
Definition: vlc_actions.h:86
struct background_worker * background_worker_New(void *owner, struct background_worker_config *conf)
Create a background-worker.
Definition: background_worker.c:184
Definition: vlc_actions.h:169
Definition: vlc_actions.h:228
Definition: vlc_addons.h:107
Definition: vlc_memstream.h:27
void vlc_sem_init(vlc_sem_t *sem, unsigned value)
Initializes a semaphore.
Definition: thread.c:325
char * psz_image_uri
Definition: vlc_addons.h:86
#define KEY_F5
Definition: vlc_actions.h:61
static void finder_thread_interrupted(void *p_data)
Definition: addons.c:317
void vlc_restorecancel(int state)
Restores the cancellation state.
Definition: thread.c:323
void background_worker_RequestProbe(struct background_worker *worker)
Request the background-worker to probe the current task.
Definition: background_worker.c:250
Definition: vlc_actions.h:156
static char * utf8_cp(uint_fast32_t cp, char *buf)
Definition: actions.c:128
Definition: vlc_actions.h:132
Definition: vlc_actions.h:187
Definition: vlc_actions.h:238
int vlc_getnameinfo(const struct sockaddr *sa, int salen, char *host, int hostlen, int *portnum, int flags)
Definition: getaddrinfo.c:39
#define KEY_HOME
Definition: vlc_actions.h:69
uint32_t i_code
Definition: actions.c:48
Definition: vlc_actions.h:215
#define KEY_MEDIA_MENU
Definition: vlc_actions.h:106
void background_worker_Cancel(struct background_worker *worker, void *id)
Remove entities from the background-worker.
Definition: background_worker.c:245
Definition: vlc_actions.h:221
static int InstallEntry(addons_manager_t *p_manager, addon_entry_t *p_entry)
Definition: addons.c:524
#define ARRAY_APPEND(array, elem)
Definition: vlc_arrays.h:187
#define KEY_MEDIA_FRAME_PREV
Definition: vlc_actions.h:102
Definition: vlc_actions.h:125
bool probe_request
true if a probe is requested
Definition: background_worker.c:43
void vlc_sem_destroy(vlc_sem_t *sem)
Deinitializes a semaphore.
Definition: thread.c:331
static uint32_t cpu_flags
Definition: cpu.c:61
static void vlc_array_remove(vlc_array_t *ar, size_t idx)
Definition: vlc_arrays.h:333
#define KEY_PAGEUP
Definition: vlc_actions.h:74
Definition: vlc_main.h:33
Definition: vlc_actions.h:131
#define KEY_DELETE
Definition: vlc_actions.h:72
Definition: vlc_actions.h:155
static int installOrRemoveAddon(addons_manager_t *p_manager, addon_entry_t *p_entry, bool b_install)
Definition: addons.c:412
vlc_actions_t * actions
Hotkeys handler.
Definition: libvlc.h:192
#define KEY_F8
Definition: vlc_actions.h:64
int addons_manager_Remove(addons_manager_t *p_manager, const addon_uuid_t uuid)
Definition: addons.c:560
#define KEY_UNSET
Definition: vlc_actions.h:47
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:321
vlc_mutex_t lock
Definition: vlc_addons.h:73
vlc_object_t * p_parent
Definition: addons.c:45
#define KEY_MEDIA_ANGLE
Definition: vlc_actions.h:100
#define KEY_F4
Definition: vlc_actions.h:60
struct addons_manager_private_t::@42 installer
Definition: vlc_addons.h:71
#define var_InheritInteger(o, n)
Definition: vlc_variables.h:612
int i_size
Definition: vlc_addons.h:113
static libvlc_priv_t * libvlc_priv(libvlc_int_t *libvlc)
Definition: libvlc.h:198
Definition: vlc_actions.h:159
Definition: vlc_actions.h:122
Definition: vlc_addons.h:48
Definition: vlc_actions.h:199
vlc_sem_t done
Definition: getaddrinfo.c:56
#define KEY_F9
Definition: vlc_actions.h:65
static const struct key_descriptor s_keys[]
int(* pf_install)(addons_storage_t *, addon_entry_t *)
Definition: vlc_addons.h:125
void vlc_CPU_dump(vlc_object_t *obj)
Definition: cpu.c:279
Definition: vlc_actions.h:124
static int vlc_key_to_action(vlc_object_t *obj, const char *varname, vlc_value_t prevkey, vlc_value_t curkey, void *d)
Definition: actions.c:400
int addons_manager_LoadCatalog(addons_manager_t *p_manager)
Charge currently installed, usable and manageable addons (default "addons storage" module)
Definition: addons.c:406
#define OBJECT_FLAGS_NOINTERACT
Definition: vlc_objects.h:33
void vlc_interrupt_destroy(vlc_interrupt_t *ctx)
Destroys an interrupt context.
Definition: interrupt.c:77
mtime_t deadline
deadline of the current task
Definition: background_worker.c:46
int vlc_clone_detach(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Definition: thread.c:280
Definition: vlc_actions.h:213
struct addon_entry_owner addon_entry_owner_t
Definition: vlc_actions.h:128
Definition: vlc_actions.h:204
Definition: vlc_actions.h:219
static void installer_thread_interrupted(void *p_data)
Definition: addons.c:443
void addons_manager_Delete(addons_manager_t *p_manager)
Definition: addons.c:171
void(* addon_found)(struct addons_manager_t *, struct addon_entry_t *)
Definition: vlc_addons.h:137
int vlc_sem_post(vlc_sem_t *sem)
Increments the value of a semaphore.
Definition: thread.c:343
Definition: vlc_actions.h:153
#define KEY_F12
Definition: vlc_actions.h:68
static int vlc_array_append(vlc_array_t *ar, void *elem)
Definition: vlc_arrays.h:315
Definition: vlc_actions.h:173
#define ACTIONS_COUNT
Definition: actions.c:378
vlc_action_id_t action
Action ID.
Definition: actions.c:383
#define KEY_PAGEDOWN
Definition: vlc_actions.h:75
libvlc_int_t * libvlc
LibVLC instance.
Definition: vlc_common.h:441
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
#define KEY_MEDIA_SUBTITLE
Definition: vlc_actions.h:98
Definition: vlc_actions.h:126
Definition: vlc_actions.h:246
const char * ppsz_keys[]
Definition: actions.c:397
Definition: vlc_actions.h:226
Definition: vlc_actions.h:188
char * psz_author
Definition: vlc_addons.h:84
Definition: vlc_actions.h:137
Definition: vlc_actions.h:147
vlc_cond_t wait
wait for update in terms of head
Definition: background_worker.c:44
void vlc_cond_broadcast(vlc_cond_t *p_condvar)
Wakes up all threads waiting on a condition variable.
Definition: thread.c:262
Definition: vlc_actions.h:240
#define ARRAY_REMOVE(array, pos)
Definition: vlc_arrays.h:211
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
int vlc_getaddrinfo_i11e(const char *name, unsigned port, const struct addrinfo *hints, struct addrinfo **res)
Definition: getaddrinfo.c:38
addon_flags_t e_flags
Definition: vlc_addons.h:77
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:263
Definition: vlc_addons.h:50
int(* pf_catalog)(addons_storage_t *, addon_entry_t **, int)
Definition: vlc_addons.h:127
size_t vlc_towc(const char *str, uint32_t *restrict pwc)
Decodes a code point from UTF-8.
Definition: unicode.c:111
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
vlc_cond_t waitcond
Definition: addons.c:50
Definition: vlc_actions.h:174
bool active
true if there is an active thread
Definition: background_worker.c:48
int vlc_getaddrinfo(const char *node, unsigned port, const struct addrinfo *hints, struct addrinfo **res)
Resolves a host name to a list of socket addresses (like getaddrinfo()).
Definition: getaddrinfo.c:77
Definition: background_worker.h:21
char * key
Definition: vlc_fixups.h:485
void vlc_cond_signal(vlc_cond_t *p_condvar)
Wakes up one thread waiting on a condition variable.
Definition: thread.c:256
#define ARRAY_RESET(array)
Definition: vlc_arrays.h:180
static int keycmp(const void *a, const void *b)
Definition: actions.c:386
Definition: vlc_actions.h:192
Definition: vlc_actions.h:133
Definition: vlc_actions.h:167
addon_entry_t * addon_entry_New(void)
addon entry lifecycle
Definition: addons.c:75
Definition: vlc_actions.h:237
#define KEY_MENU
Definition: vlc_actions.h:73
#define var_InheritString(o, n)
Definition: vlc_variables.h:639
Definition: vlc_actions.h:154
Definition: vlc_actions.h:168
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:279
Definition: vlc_actions.h:206
struct vlc_common_members obj
Definition: vlc_addons.h:109
char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:89
int asprintf(char **, const char *,...)
int64_t i_int
Definition: vlc_common.h:327
#define var_Create(a, b, c)
Definition: vlc_variables.h:121
#define var_DelCallback(a, b, c, d)
Definition: vlc_variables.h:165
struct background_worker::@46 head
Definition: vlc_actions.h:194
static const struct name2action s_names2actions[]
const struct addrinfo * hints
Definition: getaddrinfo.c:53
int vlc_memstream_open(struct vlc_memstream *ms)
Definition: memstream.c:104
struct background_worker::@47 tail
Definition: vlc_addons.h:55
#define KEY_BROWSER_REFRESH
Definition: vlc_actions.h:81
struct addons_manager_owner owner
Definition: vlc_addons.h:145
Definition: vlc_actions.h:212
Definition: vlc_actions.h:163
Definition: vlc_addons.h:49
struct addon_entry_t::@139 files
Definition: vlc_actions.h:229
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
Definition: vlc_actions.h:138
Definition: vlc_actions.h:185
int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res)
Definition: getaddrinfo.c:184
unsigned vlc_CPU(void)
Definition: cpu.c:129
Definition: vlc_actions.h:145
vlc_cond_t worker_wait
wait for probe request or cancelation
Definition: background_worker.c:45
Definition: vlc_actions.h:166
#define VLC_EBADVAR
Bad variable value.
Definition: vlc_common.h:356
mtime_t default_timeout
Default timeout for completing a task.
Definition: background_worker.h:44
#define KEY_BROWSER_BACK
Definition: vlc_actions.h:79
char * psz_name
Definition: vlc_addons.h:81
Definition: vlc_arrays.h:238
#define vlc_object_release(a)
Definition: vlc_objects.h:63
Definition: vlc_addons.h:121
void(* pf_hold)(void *entity)
Hold a queued item.
Definition: background_worker.h:67
#define KEY_MODIFIER
Definition: vlc_actions.h:40
void vlc_interrupt_register(void(*cb)(void *), void *opaque)
Registers a custom interrupt handler.
Definition: interrupt.c:160
Definition: vlc_actions.h:129
Definition: vlc_actions.h:175
char * psz_version
Definition: vlc_addons.h:88
void vlc_interrupt_kill(vlc_interrupt_t *ctx)
Marks the interruption context as "killed".
Definition: interrupt.c:178
char * psz_source_module
Definition: vlc_addons.h:95
#define KEY_MEDIA_STOP
Definition: vlc_actions.h:91
#define KEY_VOLUME_UP
Definition: vlc_actions.h:88
FILE * stream
Definition: vlc_memstream.h:65
static void BackgroundWorkerCancel(struct background_worker *worker, void *id)
Definition: background_worker.c:154
addons_manager_t * addons_manager_New(vlc_object_t *p_this, const struct addons_manager_owner *restrict owner)
Definition: addons.c:128
Definition: background_worker.c:37
Definition: vlc_actions.h:139
addons_manager_private_t * p_priv
Definition: vlc_addons.h:146
Internal module descriptor.
Definition: modules.h:79
int vlc_interrupt_unregister(void)
Definition: interrupt.c:167
#define KEY_F7
Definition: vlc_actions.h:63
#define VLC_TS_INVALID
Definition: vlc_config.h:42
Definition: vlc_actions.h:170
static size_t vlc_array_count(vlc_array_t *p_array)
Definition: vlc_arrays.h:257
static void * vlc_gai_thread(void *data)
Definition: getaddrinfo.c:42
Definition: vlc_actions.h:172
char * vlc_keycode2str(uint_fast32_t code, bool locale)
Format a human-readable and unique representation of a VLC key code (including modifiers).
Definition: actions.c:225
addon_state_t e_state
Definition: vlc_addons.h:76
#define ARRAY_INIT(array)
Definition: vlc_arrays.h:173
#define KEY_BRIGHTNESS_UP
Definition: vlc_actions.h:109
Definition: vlc_actions.h:203
Definition: actions.c:380
Definition: vlc_actions.h:127
Definition: vlc_actions.h:209
#define KEY_BROWSER_STOP
Definition: vlc_actions.h:82
#define KEY_VOLUME_DOWN
Definition: vlc_actions.h:87
#define KEY_MEDIA_TIME
Definition: vlc_actions.h:101
Definition: vlc_actions.h:162
struct addons_finder_t::@140 entries
static int add_mapping(void **map, uint32_t keycode, vlc_action_id_t action)
Adds a mapping from a certain key code to a certain action.
Definition: actions.c:419
Definition: vlc_actions.h:179
Definition: vlc_actions.h:160
int error
Definition: getaddrinfo.c:55
#define MAXACTION
Definition: actions.c:258
int background_worker_Push(struct background_worker *worker, void *entity, void *id, int timeout)
Push an entity into the background-worker.
Definition: background_worker.c:208
#define KEY_END
Definition: vlc_actions.h:70
void * map
Definition: actions.c:395
const char * name
Definition: getaddrinfo.c:51
void(* pf_stop)(void *owner, void *handle)
Stop a running task.
Definition: background_worker.h:115
struct addrinfo * result
Definition: getaddrinfo.c:54
Definition: vlc_addons.h:58
void(* pf_release)(void *entity)
Release an entity.
Definition: background_worker.h:56
Definition: vlc_actions.h:180
static addon_entry_t * getHeldEntryByUUID(addons_manager_t *p_manager, const addon_uuid_t uuid)
Definition: addons.c:242
vlc_interrupt_t * vlc_interrupt_set(vlc_interrupt_t *newctx)
Sets the interruption context for the calling thread.
Definition: interrupt.c:99
Definition: vlc_actions.h:151
void background_worker_RequestProbe(struct background_worker *worker)
Request the background-worker to probe the current task.
Definition: background_worker.c:250
#define _NI_MASK
Definition: getaddrinfo.c:34
Definition: vlc_actions.h:223
struct background_worker_config conf
Definition: background_worker.c:39
Definition: actions.c:259
Definition: vlc_actions.h:236
Definition: vlc_actions.h:230
void vlc_sem_wait(vlc_sem_t *sem)
Waits on a semaphore.
Definition: thread.c:357
vlc_thread_t thread
Definition: addons.c:49
#define KEYS_COUNT
Definition: actions.c:119
#define KEY_F10
Definition: vlc_actions.h:66
#define _AI_MASK
Definition: getaddrinfo.c:88
char * psz_uri
Definition: vlc_addons.h:114
#define KEY_BROWSER_SEARCH
Definition: vlc_actions.h:83
Thread handle.
Definition: vlc_threads.h:252
struct addons_manager_private_t::@41::@44 entries
struct vlc_common_members obj
Definition: vlc_addons.h:123
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
char * strtok_r(char *, const char *, char **)
void * p_custom
Definition: vlc_addons.h:102
#define KEY_MODIFIER_META
Definition: vlc_actions.h:44
#define KEY_BROWSER_FORWARD
Definition: vlc_actions.h:80
#define KEY_MODIFIER_CTRL
Definition: vlc_actions.h:43
int(* pf_probe)(void *owner, void *handle)
Probe a running task.
Definition: background_worker.h:99
char psz[26]
Definition: actions.c:261
Definition: vlc_actions.h:200
#define KEY_MODIFIER_ALT
Definition: vlc_actions.h:41
#define KEY_MEDIA_RECORD
Definition: vlc_actions.h:93
vlc_action_id_t id
Definition: actions.c:262
#define KEY_F6
Definition: vlc_actions.h:62
Definition: vlc_actions.h:193
#define KEY_ZOOM_IN
Definition: vlc_actions.h:107
static int addons_manager_WriteCatalog(addons_manager_t *p_manager)
Definition: addons.c:383
#define DECL_ARRAY(type)
Definition: vlc_arrays.h:165
#define var_SetInteger(a, b, c)
Definition: vlc_variables.h:256
#define KEY_LEFT
Definition: vlc_actions.h:53
Definition: vlc_actions.h:201
Definition: vlc_actions.h:165
Definition: vlc_addons.h:46
Definition: vlc_actions.h:178
Definition: vlc_actions.h:222
#define KEY_BROWSER_FAVORITES
Definition: vlc_actions.h:84
Definition: vlc_actions.h:144
#define KEY_MOUSEWHEELLEFT
Definition: vlc_actions.h:114
#define KEY_MOUSEWHEELDOWN
Definition: vlc_actions.h:113
uint32_t key
Key code.
Definition: actions.c:382
Definition: vlc_actions.h:142
Definition: interrupt.h:30
int(* pf_find)(addons_finder_t *)
Definition: vlc_addons.h:111
#define KEY_MEDIA_NEXT_TRACK
Definition: vlc_actions.h:89
#define KEY_INSERT
Definition: vlc_actions.h:71
uint_fast32_t vlc_str2keycode(const char *name)
Parse a human-readable string representation of a VLC key code.
Definition: actions.c:174
Definition: vlc_actions.h:121
void addon_entry_Release(addon_entry_t *p_entry)
Definition: addons.c:97
Definition: vlc_actions.h:164
static int actcmp(const void *key, const void *ent)
Definition: actions.c:573
addon_entry_t * addon_entry_Hold(addon_entry_t *p_entry)
Definition: addons.c:89
#define KEY_MEDIA_SHUFFLE
Definition: vlc_actions.h:97
Definition: vlc_addons.h:143
static void LoadLocalStorage(addons_manager_t *p_manager)
Definition: addons.c:295
Definition: vlc_actions.h:190
const char * service
Definition: getaddrinfo.c:52
Definition: vlc_actions.h:148
vlc_array_t data
queue of pending entities to process
Definition: background_worker.c:53
Definition: vlc_actions.h:146
static void * FinderThread(void *)
Definition: addons.c:326
static void add_wheel_mapping(void **map, uint32_t kmore, uint32_t kless, int mode)
Definition: actions.c:438
addon_type_t e_type
Definition: vlc_addons.h:75
Definition: vlc_actions.h:207
Definition: vlc_actions.h:140
static void MergeSources(addons_manager_t *p_manager, addon_entry_t **pp_addons, int i_count)
Definition: addons.c:259
Definition: vlc_actions.h:184
The main vlc_object_t structure.
Definition: vlc_objects.h:39
int vlc_savecancel(void)
Disables thread cancellation.
Definition: thread.c:313
Definition: background_worker.c:31
Definition: vlc_actions.h:182
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:351
void background_worker_Delete(struct background_worker *worker)
Delete a background-worker.
Definition: background_worker.c:258
Definition: vlc_addons.h:64
Definition: vlc_actions.h:245
static void vlc_array_init(vlc_array_t *p_array)
Definition: vlc_arrays.h:244
void tdestroy(void *root, void(*free_node)(void *nodep))
Definition: vlc_addons.h:55
Definition: vlc_actions.h:176
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
Definition: vlc_addons.h:134
#define KEY_MEDIA_PREV_TRACK
Definition: vlc_actions.h:90
Definition: vlc_actions.h:198
vlc_interrupt_t * vlc_interrupt_create(void)
Creates an interruption context.
Definition: interrupt.c:59
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
Definition: vlc_actions.h:216
void * tfind(const void *key, const void **rootp, int(*cmp)(const void *, const void *))
static void vlc_array_clear(vlc_array_t *p_array)
Definition: vlc_arrays.h:250
Definition: vlc_actions.h:232
#define KEY_MEDIA_FORWARD
Definition: vlc_actions.h:95
char * strdup(const char *)
struct background_worker * background_worker_New(void *owner, struct background_worker_config *config)
Create a background-worker.
Definition: background_worker.c:184
uint8_t addon_uuid_t[16]
Definition: vlc_addons.h:62
#define KEY_ESC
Definition: vlc_actions.h:51
Definition: vlc_actions.h:177
#define KEY_F3
Definition: vlc_actions.h:59
int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, int hostlen, char *serv, int servlen, int flags)
Definition: getaddrinfo.c:46
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
int() vlc_memstream_puts(struct vlc_memstream *ms, const char *str)
Definition: memstream.c:149
void(* addon_changed)(struct addons_manager_t *, struct addon_entry_t *)
Definition: vlc_addons.h:139
#define KEY_MEDIA_SELECT
Definition: vlc_actions.h:104
Definition: vlc_actions.h:205
Definition: vlc_actions.h:135
vlc_mutex_t lock
acquire to inspect members that follow
Definition: background_worker.c:41
Definition: vlc_actions.h:233
addon_uuid_t uuid
Definition: vlc_addons.h:80
const char name[16]
Definition: httpd.c:1249
Definition: vlc_actions.h:181
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
static void vlc_getaddrinfo_notify(union sigval val)
Definition: getaddrinfo.c:33
#define KEY_MEDIA_VIEW
Definition: vlc_actions.h:105
Definition: vlc_actions.h:242
Definition: vlc_actions.h:157
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
#define KEY_BACKSPACE
Definition: vlc_actions.h:48
Definition: fourcc_gen.c:50
void vlc_cond_wait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex)
Waits on a condition variable.
Definition: thread.c:267
Definition: vlc_actions.h:136
#define vlc_array_item_at_index(ar, idx)
Definition: vlc_arrays.h:263
bool b_live
Definition: addons.c:51
#define VLC_TS_0
Definition: vlc_config.h:43
static int keystrcmp(const void *key, const void *elem)
Definition: actions.c:121
Definition: actions.c:393
#define N_(str)
Definition: vlc_fixups.h:372
Definition: vlc_actions.h:134
#define KEY_MEDIA_PLAY_PAUSE
Definition: vlc_actions.h:92
Definition: vlc_actions.h:183
#define KEY_BROWSER_HOME
Definition: vlc_actions.h:85
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
#define KEY_MODIFIER_COMMAND
Definition: vlc_actions.h:45
char * psz_download_uri
Definition: vlc_addons.h:67
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
#define unlikely(p)
Definition: vlc_common.h:114
#define KEY_MOUSEWHEELUP
Definition: vlc_actions.h:112
#define KEY_TAB
Definition: vlc_actions.h:49
char * psz_image_data
Definition: vlc_addons.h:87
atomic_uint refs
Definition: addons.c:58
#define KEY_MODIFIER_SHIFT
Definition: vlc_actions.h:42
vlc_interrupt_t * p_interrupt
Definition: addons.c:53
void background_worker_Cancel(struct background_worker *worker, void *id)
Remove entities from the background-worker.
Definition: background_worker.c:245
Definition: vlc_actions.h:241
vlc_mutex_t lock
Definition: addons.c:52
#define var_AddCallback(a, b, c, d)
Definition: vlc_variables.h:164
Definition: vlc_actions.h:210
#define KEY_BRIGHTNESS_DOWN
Definition: vlc_actions.h:110
int(* pf_remove)(addons_storage_t *, addon_entry_t *)
Definition: vlc_addons.h:126
#define KEY_F1
Definition: vlc_actions.h:57
void * id
id of the current task
Definition: background_worker.c:47
struct addons_manager_private_t::@41::@43 uris
#define KEY_MOUSEWHEELRIGHT
Definition: vlc_actions.h:115
#define KEY_ZOOM_OUT
Definition: vlc_actions.h:108
void * entity
the entity to process
Definition: background_worker.c:48
sem_t vlc_sem_t
Semaphore.
Definition: vlc_threads.h:297
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
void vlc_cancel(vlc_thread_t thread_id)
Marks a thread as cancelled.
Definition: thread.c:297
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,...
Definition: addons.c:213
int background_worker_Push(struct background_worker *worker, void *entity, void *id, int timeout)
Push an entity into the background-worker.
Definition: background_worker.c:208
int vlc_cond_timedwait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex, mtime_t deadline)
Waits on a condition variable up to a certain date.
Definition: thread.c:273
#define KEY_PRINT
Definition: vlc_actions.h:76
Definition: vlc_addons.h:56
int libvlc_InternalActionsInit(libvlc_int_t *libvlc)
Initializes the key map from configuration.
Definition: actions.c:499
Definition: vlc_actions.h:152
void * tsearch(const void *key, void **rootp, int(*cmp)(const void *, const void *))
Definition: vlc_actions.h:123
Definition: vlc_actions.h:143
const char *const * vlc_actions_get_key_names(vlc_object_t *p_obj)
Get a list a key names.
Definition: actions.c:637
void * id
id associated with entity
Definition: background_worker.c:47
int(* pf_start)(void *owner, void *entity, void **out)
Start a new task.
Definition: background_worker.h:86
Definition: vlc_actions.h:149
Definition: vlc_actions.h:130
const char psz[20]
Definition: actions.c:47
char * strsep(char **, const char *)
int timeout
timeout duration in microseconds
Definition: background_worker.c:49
Definition: vlc_actions.h:197
#define KEY_F11
Definition: vlc_actions.h:67
#define KEY_DOWN
Definition: vlc_actions.h:56
vlc_action_id_t vlc_actions_get_id(const char *name)
Get the action ID from the action name in the configuration subsystem.
Definition: actions.c:584
Definition: vlc_actions.h:218
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
static void init_action(vlc_object_t *obj, void **map, const char *confname, vlc_action_id_t action)
Sets up all key mappings for a given action.
Definition: actions.c:472
Definition: vlc_actions.h:186
Definition: vlc_actions.h:161
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:948
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
#define FOREACH_END()
Definition: vlc_arrays.h:233
void * global_map
Definition: actions.c:396
#define KEY_MEDIA_FRAME_NEXT
Definition: vlc_actions.h:103
#define module_unneed(a, b)
Definition: vlc_modules.h:49
struct addons_manager_private_t::@41 finder
static void * Thread(void *data)
Definition: background_worker.c:57
void * owner
Definition: background_worker.c:38
Definition: vlc_actions.h:141
Definition: getaddrinfo.c:32
VLC value structure.
Definition: vlc_common.h:325
Definition: vlc_actions.h:224
static struct addrinfo * makeaddrinfo(int af, int type, int proto, const struct sockaddr *addr, size_t addrlen, const char *canonname)
Definition: getaddrinfo.c:120
Definition: vlc_actions.h:158
Definition: vlc_actions.h:208
static void * InstallerThread(void *p_data)
Definition: addons.c:452
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
#define KEY_F2
Definition: vlc_actions.h:58
#define KEY_RIGHT
Definition: vlc_actions.h:54
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
#define FOREACH_ARRAY(item, array)
Definition: vlc_arrays.h:227
void libvlc_InternalActionsClean(libvlc_int_t *libvlc)
Destroys the key map.
Definition: actions.c:554
struct vlc_common_members obj
Definition: vlc_objects.h:42
int vlc_sem_wait_i11e(vlc_sem_t *sem)
Interruptible variant of vlc_sem_wait().
Definition: interrupt.c:198
enum vlc_action_id vlc_action_id_t
int vlc_memstream_close(struct vlc_memstream *ms)
Definition: memstream.c:119
#define KEY_MEDIA_REWIND
Definition: vlc_actions.h:94
static struct addrinfo * makeipv4info(int type, int proto, u_long ip, u_short port, const char *name)
Definition: getaddrinfo.c:158
void(* discovery_ended)(struct addons_manager_t *)
Definition: vlc_addons.h:138
Definition: vlc_addons.h:47
Definition: vlc_actions.h:217
char * psz_archive_uri
Definition: vlc_addons.h:98
#define KEY_ENTER
Definition: vlc_actions.h:50
static char * nooptext(const char *txt)
Definition: actions.c:212
Definition: vlc_actions.h:211
Definition: vlc_actions.h:202
addon_entry_t ** p_elems
Definition: vlc_addons.h:113
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:270
size_t vlc_actions_get_keycodes(vlc_object_t *p_obj, const char *psz_key_name, bool b_global, uint_fast32_t **pp_keycodes)
Get keycodes from a action key name and vlc configuration.
Definition: actions.c:598
Definition: vlc_actions.h:214
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
ssize_t getline(char **, size_t *, FILE *)
static int gai_error_from_herrno(void)
Definition: getaddrinfo.c:94
addon_entry_t entry
Definition: addons.c:57
int flags
Definition: vlc_common.h:428
Definition: vlc_actions.h:195
#define KEY_MEDIA_AUDIO
Definition: vlc_actions.h:99
char * psz_filename
Definition: vlc_addons.h:68