// 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 p4KOpen({required String p4KPath}) => RustLib.instance.api.crateApiUnp4KApiP4KOpen(p4KPath: p4KPath); /// 获取文件数量(会触发文件列表加载) Future p4KGetFileCount() => RustLib.instance.api.crateApiUnp4KApiP4KGetFileCount(); /// 获取所有文件列表 Future> p4KGetAllFiles() => RustLib.instance.api.crateApiUnp4KApiP4KGetAllFiles(); /// 提取文件到内存 Future p4KExtractToMemory({required String filePath}) => RustLib.instance.api.crateApiUnp4KApiP4KExtractToMemory(filePath: filePath); /// 提取文件到磁盘 Future p4KExtractToDisk({ required String filePath, required String outputPath, }) => RustLib.instance.api.crateApiUnp4KApiP4KExtractToDisk( filePath: filePath, outputPath: outputPath, ); /// 关闭 P4K 读取器 Future p4KClose() => RustLib.instance.api.crateApiUnp4KApiP4KClose(); /// 检查数据是否为 DataForge/DCB 格式 Future dcbIsDataforge({required List data}) => RustLib.instance.api.crateApiUnp4KApiDcbIsDataforge(data: data); /// 从内存数据打开 DCB 文件 Future dcbOpen({required List data}) => RustLib.instance.api.crateApiUnp4KApiDcbOpen(data: data); /// 获取 DCB 记录数量 Future dcbGetRecordCount() => RustLib.instance.api.crateApiUnp4KApiDcbGetRecordCount(); /// 获取所有 DCB 记录路径列表 Future> dcbGetRecordList() => RustLib.instance.api.crateApiUnp4KApiDcbGetRecordList(); /// 根据路径获取单条记录的 XML Future dcbRecordToXml({required String path}) => RustLib.instance.api.crateApiUnp4KApiDcbRecordToXml(path: path); /// 根据索引获取单条记录的 XML Future dcbRecordToXmlByIndex({required BigInt index}) => RustLib.instance.api.crateApiUnp4KApiDcbRecordToXmlByIndex(index: index); /// 全文搜索 DCB 记录 Future> dcbSearchAll({ required String query, required BigInt maxResults, }) => RustLib.instance.api.crateApiUnp4KApiDcbSearchAll( query: query, maxResults: maxResults, ); /// 导出 DCB 到磁盘 /// merge: true = 合并为单个 XML,false = 分离为多个 XML 文件 Future dcbExportToDisk({ required String outputPath, required String dcbPath, required bool merge, }) => RustLib.instance.api.crateApiUnp4KApiDcbExportToDisk( outputPath: outputPath, dcbPath: dcbPath, merge: merge, ); /// 关闭 DCB 读取器 Future 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 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; }