getModelFolder method
Get model folder from C++.
Returns: {base_dir}/RunAnywhere/Models/{framework}/{modelId}/
Matches Swift: CppBridge.ModelPaths.getModelFolder()
Implementation
String? getModelFolder(String modelId, InferenceFramework framework) {
try {
final lib = PlatformLoader.loadCommons();
final getFolder = lib.lookupFunction<
Int32 Function(Pointer<Utf8>, Int32, Pointer<Utf8>, IntPtr),
int Function(Pointer<Utf8>, int, Pointer<Utf8>,
int)>('rac_model_paths_get_model_folder');
final modelIdPtr = modelId.toNativeUtf8();
final buffer = calloc<Uint8>(_pathBufferSize).cast<Utf8>();
try {
final result = getFolder(
modelIdPtr, _frameworkToCValue(framework), buffer, _pathBufferSize);
if (result == RacResultCode.success) {
return buffer.toDartString();
}
} finally {
calloc.free(modelIdPtr);
calloc.free(buffer);
}
} catch (e) {
_logger.debug('rac_model_paths_get_model_folder error: $e');
}
return null;
}