checkOrtStatus static method

void checkOrtStatus(
  1. OrtStatusPtr? ptr
)

Check ort status.

Implementation

static void checkOrtStatus(bg.OrtStatusPtr? ptr) {
  if (ptr == null || ptr == ffi.nullptr) {
    return;
  }
  final errorMessage = OrtEnv.instance.ortApiPtr.ref.GetErrorMessage
      .asFunction<ffi.Pointer<ffi.Char> Function(bg.OrtStatusPtr)>()(ptr)
      .cast<Utf8>()
      .toDartString();
  final errorCode = OrtEnv.instance.ortApiPtr.ref.GetErrorCode
      .asFunction<int Function(bg.OrtStatusPtr)>()(ptr);
  final ortErrorCode = _OrtErrorCode.valueOf(errorCode);
  OrtEnv.instance.ortApiPtr.ref.ReleaseStatus
      .asFunction<void Function(bg.OrtStatusPtr)>()(ptr);
  if (ortErrorCode == _OrtErrorCode.ok) {
    return;
  }
  throw _OrtException(ortErrorCode, errorMessage);
}