41 #define XRT_MAX_DEVICES_PER_PROBE 16 143 const char *manufacturer,
177 unsigned char *buffer,
192 return xp->
probe(xp);
216 return xp->
select(xp, xdevs, num_xdevs);
225 xrt_prober_open_hid_interface(
struct xrt_prober *xp,
239 xrt_prober_get_string_descriptor(
struct xrt_prober *xp,
242 unsigned char *buffer,
267 xrt_prober_open_video_device(
struct xrt_prober *xp,
281 xrt_prober_list_video_devices(
struct xrt_prober *xp,
294 xrt_prober_destroy(
struct xrt_prober **xp_ptr)
326 const char *to_match);
348 cJSON *attached_data,
Tracking factory.
Definition: xrt_tracking.h:71
int(* probe)(struct xrt_prober *xp)
Definition: xrt_prober.h:158
int xrt_prober_create_with_lists(struct xrt_prober **out_xp, struct xrt_prober_entry_lists *list)
Used by the target binary to create the prober with a list of drivers.
Definition: p_prober.c:94
int xrt_prober_create(struct xrt_prober **out_xp)
Call this function to create the xrt_prober.
Definition: cli_prober.c:44
uint16_t vendor_id
Definition: xrt_prober.h:50
int(* dump)(struct xrt_prober *xp)
Definition: xrt_prober.h:159
struct xrt_prober_entry ** entries
A a null terminated list of null terminated lists of xrt_prober_entry.
Definition: xrt_prober.h:81
void(* xrt_prober_list_video_cb)(struct xrt_prober *xp, struct xrt_prober_device *pdev, const char *product, const char *manufacturer, const char *serial, void *ptr)
Callback for listing video devices.
Definition: xrt_prober.h:140
int(* select)(struct xrt_prober *xp, struct xrt_device **xdevs, size_t num_xdevs)
Definition: xrt_prober.h:160
bool xrt_prober_match_string(struct xrt_prober *xp, struct xrt_prober_device *dev, enum xrt_prober_string type, const char *to_match)
Definition: p_prober.c:136
struct cJSON cJSON
Definition: xrt_prober.h:26
void(* destroy)(struct xrt_prober **xp_ptr)
Definition: xrt_prober.h:181
uint8_t usb_dev_class
Definition: xrt_prober.h:132
Header defining a xrt HMD device.
xrt_prober_string
String descriptor types.
Definition: xrt_prober.h:107
xrt_bus_type
Bus type of a device.
Definition: xrt_prober.h:97
int(* open_hid_interface)(struct xrt_prober *xp, struct xrt_prober_device *xpdev, int interface, struct os_hid_device **out_hid_dev)
Definition: xrt_prober.h:163
Definition: xrt_prober.h:101
Definition: xrt_prober.h:99
Definition: xrt_prober.h:110
Definition: xrt_prober.h:100
int(* found)(struct xrt_prober *xp, struct xrt_prober_device **devices, size_t num_devices, size_t index, cJSON *attached_data, struct xrt_device **out_xdevs)
Definition: xrt_prober.h:53
The main prober that probes and manages found but not opened HMD devices that are connected to the sy...
Definition: xrt_prober.h:153
Main root of all of the probing device.
Definition: xrt_prober.h:75
int(* open_video_device)(struct xrt_prober *xp, struct xrt_prober_device *xpdev, struct xrt_frame_context *xfctx, struct xrt_fs **out_xfs)
Definition: xrt_prober.h:167
A simple prober to probe for a HMD device connected to the system.
Definition: xrt_prober.h:339
int(* list_video_devices)(struct xrt_prober *xp, xrt_prober_list_video_cb cb, void *ptr)
Definition: xrt_prober.h:171
const char * xrt_bus_type_to_string(enum xrt_bus_type t)
Definition: p_prober.c:125
uint16_t type
Definition: vive_protocol.h:210
int(* get_string_descriptor)(struct xrt_prober *xp, struct xrt_prober_device *xpdev, enum xrt_prober_string which_string, unsigned char *buffer, int length)
Definition: xrt_prober.h:174
struct xrt_prober_entry_lists list
Definition: cli_prober.c:37
Definition: xrt_prober.h:111
Object used to track all sinks and frame producers in a graph.
Definition: xrt_frame.h:87
Representing a single hid interface on a device.
Definition: os_hid.h:26
const char * xrt_prober_string_to_string(enum xrt_prober_string t)
Definition: p_prober.c:114
struct xrt_tracking_factory * tracking
Factory for producing tracked objects.
Definition: xrt_prober.h:156
Entry for a single device.
Definition: xrt_prober.h:48
struct xrt_auto_prober *(* xrt_auto_prober_creator)()
Function for creating a auto prober.
Definition: xrt_prober.h:68
xrt_auto_prober_creator * auto_probers
A null terminated list of xrt_auto_prober creation functions.
Definition: xrt_prober.h:86
uint16_t vendor_id
Definition: xrt_prober.h:127
uint16_t product_id
Definition: xrt_prober.h:128
struct xrt_prober_entry_lists * next
Allows you to chain multiple prober entry lists.
Definition: xrt_prober.h:91
bool(* can_open)(struct xrt_prober *xp, struct xrt_prober_device *xpdev)
Definition: xrt_prober.h:179
Definition: xrt_prober.h:109
A probed device, may or may not be opened.
Definition: xrt_prober.h:125
uint16_t product_id
Definition: xrt_prober.h:51
const char * name
Definition: xrt_prober.h:341
A single HMD or input device.
Definition: xrt_device.h:202
const char * name
Definition: xrt_prober.h:60
Frameserver that generates frame, multiple subframes (like stereo and mipmaps) can be generate in one...
Definition: xrt_frameserver.h:51