mirror of
https://github.com/StarCitizenToolBox/app.git
synced 2026-01-13 19:50:28 +00:00
126 lines
4.0 KiB
Dart
126 lines
4.0 KiB
Dart
// This file is automatically generated, so please do not edit it.
|
||
// @generated by `flutter_rust_bridge`@ 2.11.1.
|
||
|
||
// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import
|
||
|
||
import '../frb_generated.dart';
|
||
import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
|
||
import 'package:freezed_annotation/freezed_annotation.dart' hide protected;
|
||
part 'unp4k_api.freezed.dart';
|
||
|
||
// These functions are ignored because they are not marked as `pub`: `dos_datetime_to_millis`, `ensure_files_loaded`, `p4k_get_entry`
|
||
|
||
/// 打开 P4K 文件(仅打开,不读取文件列表)
|
||
Future<void> p4KOpen({required String p4KPath}) =>
|
||
RustLib.instance.api.crateApiUnp4KApiP4KOpen(p4KPath: p4KPath);
|
||
|
||
/// 获取文件数量(会触发文件列表加载)
|
||
Future<BigInt> p4KGetFileCount() =>
|
||
RustLib.instance.api.crateApiUnp4KApiP4KGetFileCount();
|
||
|
||
/// 获取所有文件列表
|
||
Future<List<P4kFileItem>> p4KGetAllFiles() =>
|
||
RustLib.instance.api.crateApiUnp4KApiP4KGetAllFiles();
|
||
|
||
/// 提取文件到内存
|
||
Future<Uint8List> p4KExtractToMemory({required String filePath}) =>
|
||
RustLib.instance.api.crateApiUnp4KApiP4KExtractToMemory(filePath: filePath);
|
||
|
||
/// 提取文件到磁盘
|
||
Future<void> p4KExtractToDisk({
|
||
required String filePath,
|
||
required String outputPath,
|
||
}) => RustLib.instance.api.crateApiUnp4KApiP4KExtractToDisk(
|
||
filePath: filePath,
|
||
outputPath: outputPath,
|
||
);
|
||
|
||
/// 关闭 P4K 读取器
|
||
Future<void> p4KClose() => RustLib.instance.api.crateApiUnp4KApiP4KClose();
|
||
|
||
/// 检查数据是否为 DataForge/DCB 格式
|
||
Future<bool> dcbIsDataforge({required List<int> data}) =>
|
||
RustLib.instance.api.crateApiUnp4KApiDcbIsDataforge(data: data);
|
||
|
||
/// 从内存数据打开 DCB 文件
|
||
Future<void> dcbOpen({required List<int> data}) =>
|
||
RustLib.instance.api.crateApiUnp4KApiDcbOpen(data: data);
|
||
|
||
/// 获取 DCB 记录数量
|
||
Future<BigInt> dcbGetRecordCount() =>
|
||
RustLib.instance.api.crateApiUnp4KApiDcbGetRecordCount();
|
||
|
||
/// 获取所有 DCB 记录路径列表
|
||
Future<List<DcbRecordItem>> dcbGetRecordList() =>
|
||
RustLib.instance.api.crateApiUnp4KApiDcbGetRecordList();
|
||
|
||
/// 根据路径获取单条记录的 XML
|
||
Future<String> dcbRecordToXml({required String path}) =>
|
||
RustLib.instance.api.crateApiUnp4KApiDcbRecordToXml(path: path);
|
||
|
||
/// 根据索引获取单条记录的 XML
|
||
Future<String> dcbRecordToXmlByIndex({required BigInt index}) =>
|
||
RustLib.instance.api.crateApiUnp4KApiDcbRecordToXmlByIndex(index: index);
|
||
|
||
/// 全文搜索 DCB 记录
|
||
Future<List<DcbSearchResult>> dcbSearchAll({
|
||
required String query,
|
||
required BigInt maxResults,
|
||
}) => RustLib.instance.api.crateApiUnp4KApiDcbSearchAll(
|
||
query: query,
|
||
maxResults: maxResults,
|
||
);
|
||
|
||
/// 导出 DCB 到磁盘
|
||
/// merge: true = 合并为单个 XML,false = 分离为多个 XML 文件
|
||
Future<void> dcbExportToDisk({
|
||
required String outputPath,
|
||
required String dcbPath,
|
||
required bool merge,
|
||
}) => RustLib.instance.api.crateApiUnp4KApiDcbExportToDisk(
|
||
outputPath: outputPath,
|
||
dcbPath: dcbPath,
|
||
merge: merge,
|
||
);
|
||
|
||
/// 关闭 DCB 读取器
|
||
Future<void> dcbClose() => RustLib.instance.api.crateApiUnp4KApiDcbClose();
|
||
|
||
/// DCB 记录项信息
|
||
@freezed
|
||
sealed class DcbRecordItem with _$DcbRecordItem {
|
||
const factory DcbRecordItem({required String path, required BigInt index}) =
|
||
_DcbRecordItem;
|
||
}
|
||
|
||
@freezed
|
||
sealed class DcbSearchMatch with _$DcbSearchMatch {
|
||
const factory DcbSearchMatch({
|
||
required BigInt lineNumber,
|
||
required String lineContent,
|
||
}) = _DcbSearchMatch;
|
||
}
|
||
|
||
/// 全文搜索 DCB 记录
|
||
/// 返回匹配的记录路径和预览摘要
|
||
@freezed
|
||
sealed class DcbSearchResult with _$DcbSearchResult {
|
||
const factory DcbSearchResult({
|
||
required String path,
|
||
required BigInt index,
|
||
required List<DcbSearchMatch> matches,
|
||
}) = _DcbSearchResult;
|
||
}
|
||
|
||
/// P4K 文件项信息
|
||
@freezed
|
||
sealed class P4kFileItem with _$P4kFileItem {
|
||
const factory P4kFileItem({
|
||
required String name,
|
||
required bool isDirectory,
|
||
required BigInt size,
|
||
required BigInt compressedSize,
|
||
required PlatformInt64 dateModified,
|
||
}) = _P4kFileItem;
|
||
}
|