Go to the documentation of this file.
24 #ifndef VLC_EXTENSIONS_H
25 #define VLC_EXTENSIONS_H
92 va_start( args, i_control );
93 int i_ret = p_mgr->
pf_control( p_mgr, i_control, args );
116 #define extension_Activate( mgr, ext ) \
117 extension_Control( mgr, EXTENSION_ACTIVATE, ext )
120 #define extension_Trigger( mgr, ext ) \
121 extension_Control( mgr, EXTENSION_TRIGGER, ext )
124 #define extension_Deactivate( mgr, ext ) \
125 extension_Control( mgr, EXTENSION_DEACTIVATE, ext )
128 #define extension_IsActivated( mgr, ext ) \
129 __extension_GetBool( mgr, ext, EXTENSION_IS_ACTIVATED, false )
132 #define extension_HasMenu( mgr, ext ) \
133 __extension_GetBool( mgr, ext, EXTENSION_HAS_MENU, false )
175 #define extension_TriggerOnly( mgr, ext ) \
176 __extension_GetBool( mgr, ext, EXTENSION_TRIGGER_ONLY, false )
235 command.
p_dlg = p_dialog;
236 command.
event = event;
245 #define extension_DialogClosed( dlg ) \
246 extension_DialogCommand( dlg, EXTENSION_EVENT_CLOSE, NULL )
252 #define extension_WidgetClicked( dlg, wdg ) \
253 extension_DialogCommand( dlg, EXTENSION_EVENT_CLICK, wdg )
A "loading..." spinning icon.
Definition: vlc_extensions.h:266
bool b_selected
True if this item is selected.
Definition: vlc_extensions.h:281
extension_dialog_event_e event
Event,.
Definition: vlc_extensions.h:198
struct extension_dialog_t::@165 widgets
Widgets owned by the dialog.
module_t * p_module
Extensions manager module.
Definition: vlc_extensions.h:57
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:457
int i_width
Width hint.
Definition: vlc_extensions.h:293
Click on a widget: data = widget.
Definition: vlc_extensions.h:188
char * psz_shortdescription
Short description (eg.
Definition: vlc_extensions.h:45
#define var_SetAddress(o, n, p)
Definition: vlc_variables.h:260
int i_width
Width hint in pixels (may be discarded)
Definition: vlc_extensions.h:209
void * p_sys
Reserved for the extension manager.
Definition: vlc_extensions.h:306
bool b_checked
Is this entry checked.
Definition: vlc_extensions.h:286
struct extension_sys_t extension_sys_t
Definition: vlc_extensions.h:33
arg1: extension_t*, arg2 int( playing status )
Definition: vlc_extensions.h:80
arg1: extension_t*
Definition: vlc_extensions.h:74
HTML or rich text area (non editable)
Definition: vlc_extensions.h:260
vlc_cond_t cond
Signaled == UI is done working on the dialog.
Definition: vlc_extensions.h:220
int i_spin_loops
Number of loops to play (-1 = infinite, 0 = stop animation)
Definition: vlc_extensions.h:298
bool b_update
Update this widget.
Definition: vlc_extensions.h:303
static int extension_PlayingChanged(extensions_manager_t *p_mgr, extension_t *p_ext, int state)
Definition: vlc_extensions.h:160
Clickable button.
Definition: vlc_extensions.h:258
bool b_hide
Hide this widget (make it invisible)
Definition: vlc_extensions.h:295
Command to pass to the extension dialog owner.
Definition: vlc_extensions.h:195
struct extension_t extension_t
Extension descriptor: name, title, author, ...
char * psz_title
Title for the Dialog (in TitleBar)
Definition: vlc_extensions.h:208
static int extension_TriggerMenu(extensions_manager_t *p_mgr, extension_t *p_ext, uint16_t i)
Trigger an entry of the extension menu.
Definition: vlc_extensions.h:145
static int extension_GetMenu(extensions_manager_t *p_mgr, extension_t *p_ext, char ***pppsz, uint16_t **ppi)
Get this extension's sub-menu.
Definition: vlc_extensions.h:136
char * p_icondata
Embedded data for the icon (ro)
Definition: vlc_extensions.h:46
int i_height
Height hint in pixels (may be discarded)
Definition: vlc_extensions.h:210
struct extensions_manager_sys_t extensions_manager_sys_t
Definition: vlc_extensions.h:31
static bool __extension_GetBool(extensions_manager_t *p_mgr, extension_t *p_ext, int i_flag, bool b_default)
Helper for extension_HasMenu, extension_IsActivated...
Definition: vlc_extensions.h:102
extension_dialog_t * p_dlg
Destination dialog.
Definition: vlc_extensions.h:197
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:279
char * psz_title
Display title (ro)
Definition: vlc_extensions.h:40
Definition: vlc_extensions.h:277
extension_widget_type_e
Widget types.
Definition: vlc_extensions.h:255
arg1: extension_t*, int (uint16_t)
Definition: vlc_extensions.h:78
static int extension_SetInput(extensions_manager_t *p_mgr, extension_t *p_ext, struct input_thread_t *p_input)
Trigger an entry of the extension menu.
Definition: vlc_extensions.h:153
arg1: extension_t*
Definition: vlc_extensions.h:77
int i_horiz_span
Horizontal size of the object.
Definition: vlc_extensions.h:291
struct extension_widget_value_t * p_next
Next value or NULL.
Definition: vlc_extensions.h:282
Extension descriptor: name, title, author, ...
Definition: vlc_extensions.h:36
Internal module descriptor.
Definition: modules.h:79
Editable text line for user input.
Definition: vlc_extensions.h:261
Extensions manager object.
Definition: vlc_extensions.h:53
extension_widget_type_e type
Type of the widget.
Definition: vlc_extensions.h:273
Close the dialog: no data.
Definition: vlc_extensions.h:189
void * p_sys_intf
Reserved for the UI, but: NULL means the UI has destroyed the widget or has not created it yet.
Definition: vlc_extensions.h:307
char * psz_name
Real name of the extension (ro)
Definition: vlc_extensions.h:38
char * psz_description
Full description (ro)
Definition: vlc_extensions.h:44
vlc_mutex_t lock
A lock for the extensions array.
Definition: vlc_extensions.h:61
vlc_mutex_t lock
Dialog mutex.
Definition: vlc_extensions.h:219
vlc_object_t * p_object
Owner object (callback on "dialog-event")
Definition: vlc_extensions.h:206
int i_row
Row in the grid.
Definition: vlc_extensions.h:289
extensions_manager_sys_t * p_sys
Reserved for the module.
Definition: vlc_extensions.h:58
Widget descriptor for extensions.
Definition: vlc_extensions.h:270
bool b_kill
Destroy this widget.
Definition: vlc_extensions.h:302
#define DECL_ARRAY(type)
Definition: vlc_arrays.h:165
extension_dialog_event_e
User interface event types.
Definition: vlc_extensions.h:186
void * p_sys_intf
GUI private pointer.
Definition: vlc_extensions.h:218
int i_id
Identifier for the extension module (weird behavior may occur if not unique)
Definition: vlc_extensions.h:278
Text label.
Definition: vlc_extensions.h:257
bool b_kill
Kill this dialog.
Definition: vlc_extensions.h:215
void * p_sys
Dialog private pointer.
Definition: vlc_extensions.h:217
The main vlc_object_t structure.
Definition: vlc_objects.h:39
extension_dialog_t * p_dialog
Parent dialog.
Definition: vlc_extensions.h:310
arg1: extension_t*, arg2 (input_item_t*)
Definition: vlc_extensions.h:81
char * psz_author
Author of the extension (ro)
Definition: vlc_extensions.h:41
char * psz_text
String value.
Definition: vlc_extensions.h:280
char * psz_text
Text. May be NULL or modified by the UI.
Definition: vlc_extensions.h:274
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:353
arg1: extension_t*, arg2: bool*
Definition: vlc_extensions.h:73
struct extension_widget_t::extension_widget_value_t * p_values
Chained list of values (Drop-down/List)
void * p_data
Opaque data to send.
Definition: vlc_extensions.h:199
int i_column
Column in the grid.
Definition: vlc_extensions.h:290
char * psz_url
A URL to the official page (ro)
Definition: vlc_extensions.h:43
arg1: extension_t*
Definition: vlc_extensions.h:71
extension_sys_t * p_sys
Reserved for the manager module.
Definition: vlc_extensions.h:49
int i_height
Height hint.
Definition: vlc_extensions.h:294
int(* pf_control)(extensions_manager_t *, int, va_list)
Control, see extension_Control.
Definition: vlc_extensions.h:64
Vertical list box (of strings)
Definition: vlc_extensions.h:264
int i_vert_span
Vertical size of the object.
Definition: vlc_extensions.h:292
static int extension_MetaChanged(extensions_manager_t *p_mgr, extension_t *p_ext)
Definition: vlc_extensions.h:167
static int extension_Control(extensions_manager_t *p_mgr, int i_control,...)
Control function for extensions.
Definition: vlc_extensions.h:88
Checkable box with label.
Definition: vlc_extensions.h:265
arg1: extension_t*
Definition: vlc_extensions.h:72
arg1: extension_t*, arg2 (input_thread_t*)
Definition: vlc_extensions.h:79
Editable password input (******)
Definition: vlc_extensions.h:262
static int extension_DialogCommand(extension_dialog_t *p_dialog, extension_dialog_event_e event, void *data)
Send a command to an Extension dialog.
Definition: vlc_extensions.h:229
arg1: extension_t*, arg2: char***, arg3: uint16_t**
Definition: vlc_extensions.h:75
Image label (psz_text is local URI)
Definition: vlc_extensions.h:259
arg1: extension_t*, arg2: bool*
Definition: vlc_extensions.h:76
struct extensions_manager_t::@164 extensions
Array of extension descriptors.
Drop-down box.
Definition: vlc_extensions.h:263
int i_icondata_size
Size of that data.
Definition: vlc_extensions.h:47
Dialog descriptor for extensions.
Definition: vlc_extensions.h:204
bool b_hide
Hide this dialog (!b_hide shows)
Definition: vlc_extensions.h:214
char * psz_version
Version (ro)
Definition: vlc_extensions.h:42