setBaseDirectory method
Set the base directory for model storage. Must be called during SDK initialization. Matches Swift: CppBridge.ModelPaths.setBaseDirectory()
Implementation
Future<void> setBaseDirectory([String? path]) async {
final dir = path ?? (await getApplicationDocumentsDirectory()).path;
try {
final lib = PlatformLoader.loadCommons();
final setBase = lib.lookupFunction<Int32 Function(Pointer<Utf8>),
int Function(Pointer<Utf8>)>('rac_model_paths_set_base_dir');
final dirPtr = dir.toNativeUtf8();
try {
final result = setBase(dirPtr);
if (result == RacResultCode.success) {
_logger.debug('C++ base directory set to: $dir');
} else {
_logger.warning('Failed to set C++ base directory: $result');
}
} finally {
calloc.free(dirPtr);
}
} catch (e) {
_logger.warning('rac_model_paths_set_base_dir error: $e');
}
}