General Query Functions
The following are helper functions to query information from the state message, meaning that they will only return valid information following the invocation of hpc_InitializeApp(), and only return new information after hpc_RefreshState().
hpc_GetStateAsJSON
size_t hpc_GetStateAsJSON(char *out_buf, size_t out_buf_sz)
Returns
The current state message, serialized into a char buffer as JSON.
Args
char *out_buf, size_t out_buf_sz
Description
Mostly useful for debugging - custom message queries can be constructed without an external JSON serializer, using the helper functions in libHoloPlayCore.h.
hpc_GetHoloPlayServiceVersion
size_t hpc_GetHoloPlayServiceVersion(char *out_buf, size_t out_buf_sz)
Returns
Current version of HoloPlay Service, as a string.
Args
char *out_buf, size_t out_buf_sz
hpc_GetNumDevices
int hpc_GetNumDevices(void)
Returns
Number of Looking Glass devices connected with valid calibrations.
Args
None
hpc_GetDeviceHDMIName
size_t hpc_GetDeviceHDMIName(int dev_index, char *out_buf, size_t out_buf_sz)
Returns
Looking Glass device name retrieved from EDID.
Args
int dev_index, char *out_buf, size_t out_buf_sz
hpc_GetDeviceSerial
size_t hpc_GetDeviceSerial(int dev_index, char *out_buf, size_t out_buf_sz)
Returns
Serial number of device (same as the one printed on label).
Args
int dev_index, char *out_buf, size_t out_buf_sz
hpc_GetDeviceType
size_t hpc_GetDeviceType(int dev_index, char *out_buf, size_t out_buf_sz)
Returns
Device type as string (currently one of "standard", "large", "pro", "8k").
Args
int dev_index, char *out_buf, size_t out_buf_sz
*Note on String Return Functions
Any function of the form "size_t hpc_DoThing(..., char* out_buf, size_t out_buf_sz)" copies a string into a preallocated buffer of size out_buf_sz. The buffer is allocated and owned by the caller.
These functions return 0 if out_buf_sz was sufficient, or the actual size of string if out_buf_sz was too small.
This makes it much easier to pass strings into managed memory (i.e. for .NET bindings). Most of the strings returned by these functions are quite small.