Skip to content


This header contains declarations for functions in the HoloPlayCore dynamic library, which handles communication with the HoloPlay Service runtime. A programmer looking to design a custom renderer for Looking Glass devices may not need to understand the functions and types declared in this header file. They handle communication with HoloPlay Service via the NNG interprocess communication library and provide abstractions for the CBOR-serialized messages returned from it, to provide easy access from both low- and high- level languages.

Convenience functions that implement these under the hood are declared in HoloPlayCore.h.


typedef enum hpc_client_error


Enum definition for errors returned from the HoloPlayCore dynamic library.

The following table encapsulates potential errors with the connection itself, as opposed to hpc_service_error, which describes potential error messages included in a successful reply from HoloPlay Service.


Error Description
hpc_CLIERR_NOERROR No error, everything ok.
hpc_CLIERR_NOSERVICE HoloPlay Service not installed or not running.
hpc_CLIERR_VERSIONERR HoloPlay Service/HoloPlay Core version mismatch.
hpc_CLIERR_SERIALIZEERR Something wrong with the serialization of message data being sent to HoloPlay Service.
hpc_CLIERR_DESERIALIZEERR Something wrong with the serialization of message data being received from HoloPlay Service.
hpc_CLIERR_MSSGTOOBIG Message sent was too large and was rejected.
hpc_CLIERR_SENDTIMEOUT HoloPlay Service was detected but did not consume message.
hpc_CLIERR_RECVTIMEOUT HoloPlay Service received message but did not reespond.
hpc_CLIERR_PIPEERROR Some other problem with communication.
hpc_CLIERR_APPNOTINITIALIZED hpc_RefreshState called before hpc_InitializeApp.


typedef enum hpc_service_error


Enum definition for error codes included in HoloPlay Service responses.

Most error messages from HoloPlay Service concern access to the HoloPlay Service internal renderer, which is supported but not the primary focus of the current version of HoloPlay Core. Future versions of HoloPlay Service may return error codes not defined by this spec.


Error Description
hpc_ERR_NOERROR No error, everything ok.
hpc_ERR_BADCBOR CBOR parser failure.
hpc_ERR_BADCOMMAND Driver could not understand the command.
hpc_ERR_NOIMAGE Driver expected an image file in binary data, but could not read one.
hpc_ERR_LKGNOTFOUND Client attempted to draw to a Looking Glass that is not connected or has no calibration.
hpc_ERR_NOTINCACHE Client attempted to load a nonexistent key from the cache.
hpc_ERR_INITTOOLATE Client attempted to register an app ID after sending one or more messages.
hpc_ERR_NOTALLOWED Client attempted to do something that is not allowed (i.e., tried to take over a display currently occupied by a greedy process).


typedef enum hpc_license_type


Enum definition for possible types of licenses associated with a HoloPlay Core app.

Non-commercial apps cannot run on Looking Glass devices without an associated commercial license.


Error Description
hpc_LICENSE_NONCOMMERCIAL Non-commercial license type
hpc_LICENSE_COMMERCIAL Commercial license type