feat: unp4k supper search support

This commit is contained in:
xkeyC
2025-12-11 00:54:30 +08:00
parent 83c0fa6a26
commit 3fd020b8b0
9 changed files with 58 additions and 71 deletions

View File

@@ -63,13 +63,8 @@ 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,
);
Future<List<DcbSearchResult>> dcbSearchAll({required String query}) =>
RustLib.instance.api.crateApiUnp4KApiDcbSearchAll(query: query);
/// 导出 DCB 到磁盘
/// merge: true = 合并为单个 XMLfalse = 分离为多个 XML 文件

View File

@@ -116,7 +116,6 @@ abstract class RustLibApi extends BaseApi {
Future<List<DcbSearchResult>> crateApiUnp4KApiDcbSearchAll({
required String query,
required BigInt maxResults,
});
Future<List<String>> crateApiHttpApiDnsLookupIps({required String host});
@@ -693,35 +692,26 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
@override
Future<List<DcbSearchResult>> crateApiUnp4KApiDcbSearchAll({
required String query,
required BigInt maxResults,
}) {
return handler.executeNormal(
NormalTask(
callFfi: (port_) {
var arg0 = cst_encode_String(query);
var arg1 = cst_encode_usize(maxResults);
return wire.wire__crate__api__unp4k_api__dcb_search_all(
port_,
arg0,
arg1,
);
return wire.wire__crate__api__unp4k_api__dcb_search_all(port_, arg0);
},
codec: DcoCodec(
decodeSuccessData: dco_decode_list_dcb_search_result,
decodeErrorData: dco_decode_AnyhowException,
),
constMeta: kCrateApiUnp4KApiDcbSearchAllConstMeta,
argValues: [query, maxResults],
argValues: [query],
apiImpl: this,
),
);
}
TaskConstMeta get kCrateApiUnp4KApiDcbSearchAllConstMeta =>
const TaskConstMeta(
debugName: "dcb_search_all",
argNames: ["query", "maxResults"],
);
const TaskConstMeta(debugName: "dcb_search_all", argNames: ["query"]);
@override
Future<List<String>> crateApiHttpApiDnsLookupIps({required String host}) {

View File

@@ -1450,13 +1450,8 @@ class RustLibWire implements BaseWire {
void wire__crate__api__unp4k_api__dcb_search_all(
int port_,
ffi.Pointer<wire_cst_list_prim_u_8_strict> query,
int max_results,
) {
return _wire__crate__api__unp4k_api__dcb_search_all(
port_,
query,
max_results,
);
return _wire__crate__api__unp4k_api__dcb_search_all(port_, query);
}
late final _wire__crate__api__unp4k_api__dcb_search_allPtr =
@@ -1465,7 +1460,6 @@ class RustLibWire implements BaseWire {
ffi.Void Function(
ffi.Int64,
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
ffi.UintPtr,
)
>
>(
@@ -1474,7 +1468,7 @@ class RustLibWire implements BaseWire {
late final _wire__crate__api__unp4k_api__dcb_search_all =
_wire__crate__api__unp4k_api__dcb_search_allPtr
.asFunction<
void Function(int, ffi.Pointer<wire_cst_list_prim_u_8_strict>, int)
void Function(int, ffi.Pointer<wire_cst_list_prim_u_8_strict>)
>();
void wire__crate__api__http_api__dns_lookup_ips(