23#ifndef VLC_SERVICES_DISCOVERY_H_
24#define VLC_SERVICES_DISCOVERY_H_
113 char *psz_short_desc;
134 return p_sd->
pf_control( p_sd, i_control, args );
142#define vlc_sd_GetNames(obj, pln, pcat ) \
143 vlc_sd_GetNames(VLC_OBJECT(obj), pln, pcat)
151#define vlc_sd_Create( obj, a, b ) \
152 vlc_sd_Create( VLC_OBJECT( obj ), a, b )
210#define VLC_SD_PROBE_SUBMODULE \
212 set_capability( "services probe", 100 ) \
213 set_callback( vlc_sd_probe_Open )
215#define VLC_SD_PROBE_HELPER(name, longname, cat) \
216static int vlc_sd_probe_Open (vlc_object_t *obj) \
218 return vlc_sd_probe_Add ((struct vlc_probe_t *)obj, name, \
#define VLC_USED
Definition fourcc_gen.c:32
#define VLC_API
Definition fourcc_gen.c:31
#define VLC_EGENERIC
Unspecified error.
Definition vlc_common.h:480
Definition vlc_configuration.h:320
Internal module descriptor.
Definition modules.h:76
Definition vlc_services_discovery.h:44
void(* item_removed)(struct services_discovery_t *sd, input_item_t *item)
Definition vlc_services_discovery.h:47
void(* item_added)(struct services_discovery_t *sd, input_item_t *parent, input_item_t *item)
Definition vlc_services_discovery.h:45
Service discovery descriptor.
Definition vlc_services_discovery.h:113
char * psz_short_desc
The short description, human-readable.
Definition vlc_services_discovery.h:114
int i_capabilities
Definition vlc_services_discovery.h:117
char * psz_url
URL for the service.
Definition vlc_services_discovery.h:116
char * psz_icon_url
URL to the icon that represents it.
Definition vlc_services_discovery.h:115
Definition vlc_services_discovery.h:51
void * sys
Private data for the owner callbacks.
Definition vlc_services_discovery.h:53
const struct services_discovery_callbacks * cbs
Definition vlc_services_discovery.h:52
Main service discovery structure to build a SD module.
Definition vlc_services_discovery.h:60
config_chain_t * p_cfg
Configuration for the SD.
Definition vlc_services_discovery.h:65
struct services_discovery_owner_t owner
Owner callbacks.
Definition vlc_services_discovery.h:76
char * psz_name
Main name of the SD.
Definition vlc_services_discovery.h:64
struct vlc_object_t obj
Definition vlc_services_discovery.h:61
module_t * p_module
Loaded module.
Definition vlc_services_discovery.h:62
int(* pf_control)(services_discovery_t *, int, va_list)
Control function.
Definition vlc_services_discovery.h:72
const char * description
Human-readable name.
Definition vlc_services_discovery.h:67
void * p_sys
Custom private data.
Definition vlc_services_discovery.h:74
VLC object common members.
Definition vlc_objects.h:53
Definition vlc_probe.h:41
This file is a collection of common definitions and types.
This file defines functions and structures to run-time probe VLC extensions.
void vlc_sd_Destroy(services_discovery_t *)
Definition services_discovery.c:131
services_discovery_category_e
Service discovery categories.
Definition vlc_services_discovery.h:84
@ SD_CAT_INTERNET
Internet or Website channels services.
Definition vlc_services_discovery.h:87
@ SD_CAT_LAN
LAN/WAN services, like Upnp or SAP.
Definition vlc_services_discovery.h:86
@ SD_CAT_MYCOMPUTER
Computer services, like Discs or Apps.
Definition vlc_services_discovery.h:88
@ SD_CAT_DEVICES
Devices, like portable music players.
Definition vlc_services_discovery.h:85
static int vlc_sd_control(services_discovery_t *p_sd, int i_control, va_list args)
Ask for a research in the SD.
Definition vlc_services_discovery.h:132
static void services_discovery_RemoveItem(services_discovery_t *sd, input_item_t *item)
Removed service callback.
Definition vlc_services_discovery.h:201
#define vlc_sd_Create(obj, a, b)
Definition vlc_services_discovery.h:152
services_discovery_capability_e
Service discovery capabilities.
Definition vlc_services_discovery.h:104
@ SD_CAP_SEARCH
One can search in the SD.
Definition vlc_services_discovery.h:105
static void services_discovery_AddItem(services_discovery_t *sd, input_item_t *item)
Added top-level service callback.
Definition vlc_services_discovery.h:164
services_discovery_command_e
Service discovery control commands.
Definition vlc_services_discovery.h:95
@ SD_CMD_SEARCH
arg1 = query
Definition vlc_services_discovery.h:96
@ SD_CMD_DESCRIPTOR
arg1 = services_discovery_descriptor_t*
Definition vlc_services_discovery.h:97
int vlc_sd_probe_Add(vlc_probe_t *, const char *, const char *, int category)
Definition services_discovery.c:41
static void services_discovery_AddSubItem(services_discovery_t *sd, input_item_t *parent, input_item_t *item)
Added service callback.
Definition vlc_services_discovery.h:188
#define vlc_sd_GetNames(obj, pln, pcat)
Definition vlc_services_discovery.h:143