/// <summary>
 /// Similar to <see cref="ConvertAsync(int, XRCameraImageConversionParams)"/> but takes a delegate to
 /// invoke when the request is complete, rather than returning a request id.
 /// </summary>
 /// <remarks>
 /// If the first parameter to <paramref name="callback"/> is
 /// <see cref="AsyncCameraImageConversionStatus.Ready"/> then the <c>dataPtr</c> parameter must be valid
 /// for the duration of the invocation. The data may be destroyed immediately upon return. The
 /// <paramref name="context"/> parameter must be passed back to the <paramref name="callback"/>.
 /// </remarks>
 /// <param name="nativeHandle">A unique identifier for the camera image to convert.</param>
 /// <param name="conversionParams">The parameters to use during the conversion.</param>
 /// <param name="callback">A delegate which must be invoked when the request is complete, whether the
 /// conversion was successfully or not.</param>
 /// <param name="context">A native pointer which must be passed back unaltered to
 /// <paramref name="callback"/>.</param>
 public override void ConvertAsync(
     int nativeHandle,
     XRCameraImageConversionParams conversionParams,
     OnImageRequestCompleteDelegate callback,
     IntPtr context)
 {
     NativeApi.UnityARKit_Camera_CreateAsyncConversionRequestWithCallback(
         nativeHandle, conversionParams, callback, context);
 }