addSessionConfigEntry method

Pointer<OrtStatus> addSessionConfigEntry(
  1. Pointer<OrtSessionOptions> options, {
  2. required String key,
  3. required String value,
})

Implementation

Pointer<OrtStatus> addSessionConfigEntry(
  Pointer<OrtSessionOptions> options, {
  required String key,
  required String value,
}) {
  final fn =
      AddSessionConfigEntry.asFunction<
        Pointer<OrtStatus> Function(
          Pointer<OrtSessionOptions>,
          Pointer<Char>,
          Pointer<Char>,
        )
      >();
  final nativeKey = key.toNativeUtf8();
  final nativeValue = value.toNativeUtf8();
  try {
    final status = fn(
      options,
      nativeKey.cast<Char>(),
      nativeValue.cast<Char>(),
    );
    if (status.isError) {
      final error =
          'AddSessionConfigEntry failed for $key. '
          'Code: ${getErrorCodeMessage(status)}\n'
          'Message: ${consumeErrorMessage(status)}';
      throw Exception(error);
    }
    return status;
  } finally {
    malloc.free(nativeValue);
    malloc.free(nativeKey);
  }
}