getModelsDirectory method

String? getModelsDirectory()

Get the models directory from C++. Returns: {base_dir}/RunAnywhere/Models/ Matches Swift: CppBridge.ModelPaths.getModelsDirectory()

Implementation

String? getModelsDirectory() {
  try {
    final lib = PlatformLoader.loadCommons();
    final getDir = lib.lookupFunction<
        Int32 Function(Pointer<Utf8>, IntPtr),
        int Function(
            Pointer<Utf8>, int)>('rac_model_paths_get_models_directory');

    final buffer = calloc<Uint8>(_pathBufferSize).cast<Utf8>();
    try {
      final result = getDir(buffer, _pathBufferSize);
      if (result == RacResultCode.success) {
        return buffer.toDartString();
      }
    } finally {
      calloc.free(buffer);
    }
  } catch (e) {
    _logger.debug('rac_model_paths_get_models_directory error: $e');
  }
  return null;
}