getAvailableProviders method
Implementation
List<String> getAvailableProviders() {
_runtime.ensureInitialized();
final api = _runtime.api.ref;
final outPtr = calloc<Pointer<Pointer<Char>>>();
final lengthPtr = calloc<Int>();
try {
final status =
api.GetAvailableProviders.asFunction<
Pointer<OrtStatus> Function(
Pointer<Pointer<Pointer<Char>>>,
Pointer<Int>,
)
>()(outPtr, lengthPtr);
_checkStatus(status);
final length = lengthPtr.value;
final providers = <String>[];
final arrayPtr = outPtr.value;
for (var i = 0; i < length; i++) {
providers.add(arrayPtr[i].cast<Utf8>().toDartString());
}
api.ReleaseAvailableProviders.asFunction<
Pointer<OrtStatus> Function(Pointer<Pointer<Char>>, int)
>()(arrayPtr, length);
return providers;
} finally {
calloc.free(outPtr);
calloc.free(lengthPtr);
}
}