mirror of
https://ghfast.top/https://github.com/StarCitizenToolBox/app.git
synced 2025-06-28 09:04:45 +08:00
feat: Optimize RsProcess
This commit is contained in:
@ -6,56 +6,36 @@
|
||||
import '../frb_generated.dart';
|
||||
import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
|
||||
|
||||
// Rust type: RustOpaqueNom<flutter_rust_bridge::for_generated::rust_async::RwLock<RsProcess>>
|
||||
@sealed
|
||||
class RsProcess extends RustOpaque {
|
||||
RsProcess.dcoDecode(List<dynamic> wire) : super.dcoDecode(wire, _kStaticData);
|
||||
// The type `RS_PROCESS_MAP` is not used by any `pub` functions, thus it is ignored.
|
||||
// The type `RsProcess` is not used by any `pub` functions, thus it is ignored.
|
||||
|
||||
RsProcess.sseDecode(int ptr, int externalSizeOnNative)
|
||||
: super.sseDecode(ptr, externalSizeOnNative, _kStaticData);
|
||||
Stream<RsProcessStreamData> start(
|
||||
{required String executable,
|
||||
required List<String> arguments,
|
||||
required String workingDirectory,
|
||||
dynamic hint}) =>
|
||||
RustLib.instance.api.start(
|
||||
executable: executable,
|
||||
arguments: arguments,
|
||||
workingDirectory: workingDirectory,
|
||||
hint: hint);
|
||||
|
||||
static final _kStaticData = RustArcStaticData(
|
||||
rustArcIncrementStrongCount:
|
||||
RustLib.instance.api.rust_arc_increment_strong_count_RsProcess,
|
||||
rustArcDecrementStrongCount:
|
||||
RustLib.instance.api.rust_arc_decrement_strong_count_RsProcess,
|
||||
rustArcDecrementStrongCountPtr:
|
||||
RustLib.instance.api.rust_arc_decrement_strong_count_RsProcessPtr,
|
||||
);
|
||||
|
||||
int? getPid({dynamic hint}) =>
|
||||
RustLib.instance.api.rsProcessGetPid(that: this, hint: hint);
|
||||
|
||||
factory RsProcess({dynamic hint}) =>
|
||||
RustLib.instance.api.rsProcessNew(hint: hint);
|
||||
|
||||
Stream<RsProcessStreamData> start(
|
||||
{required String executable,
|
||||
required List<String> arguments,
|
||||
required String workingDirectory,
|
||||
dynamic hint}) =>
|
||||
RustLib.instance.api.rsProcessStart(
|
||||
that: this,
|
||||
executable: executable,
|
||||
arguments: arguments,
|
||||
workingDirectory: workingDirectory,
|
||||
hint: hint);
|
||||
|
||||
Future<void> write({required String data, dynamic hint}) =>
|
||||
RustLib.instance.api.rsProcessWrite(that: this, data: data, hint: hint);
|
||||
}
|
||||
Future<void> write({required int rsPid, required String data, dynamic hint}) =>
|
||||
RustLib.instance.api.write(rsPid: rsPid, data: data, hint: hint);
|
||||
|
||||
class RsProcessStreamData {
|
||||
final RsProcessStreamDataType dataType;
|
||||
final String data;
|
||||
final int rsPid;
|
||||
|
||||
const RsProcessStreamData({
|
||||
required this.dataType,
|
||||
required this.data,
|
||||
required this.rsPid,
|
||||
});
|
||||
|
||||
@override
|
||||
int get hashCode => dataType.hashCode ^ data.hashCode;
|
||||
int get hashCode => dataType.hashCode ^ data.hashCode ^ rsPid.hashCode;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
@ -63,7 +43,8 @@ class RsProcessStreamData {
|
||||
other is RsProcessStreamData &&
|
||||
runtimeType == other.runtimeType &&
|
||||
dataType == other.dataType &&
|
||||
data == other.data;
|
||||
data == other.data &&
|
||||
rsPid == other.rsPid;
|
||||
}
|
||||
|
||||
enum RsProcessStreamDataType {
|
||||
|
@ -56,7 +56,7 @@ class RustLib extends BaseEntrypoint<RustLibApi, RustLibApiImpl, RustLibWire> {
|
||||
String get codegenVersion => '2.0.0-dev.32';
|
||||
|
||||
@override
|
||||
int get rustContentHash => 333909092;
|
||||
int get rustContentHash => 1270049297;
|
||||
|
||||
static const kDefaultExternalLibraryLoaderConfig =
|
||||
ExternalLibraryLoaderConfig(
|
||||
@ -82,27 +82,13 @@ abstract class RustLibApi extends BaseApi {
|
||||
Future<void> setDefaultHeader(
|
||||
{required Map<String, String> headers, dynamic hint});
|
||||
|
||||
int? rsProcessGetPid({required RsProcess that, dynamic hint});
|
||||
|
||||
RsProcess rsProcessNew({dynamic hint});
|
||||
|
||||
Stream<RsProcessStreamData> rsProcessStart(
|
||||
{required RsProcess that,
|
||||
required String executable,
|
||||
Stream<RsProcessStreamData> start(
|
||||
{required String executable,
|
||||
required List<String> arguments,
|
||||
required String workingDirectory,
|
||||
dynamic hint});
|
||||
|
||||
Future<void> rsProcessWrite(
|
||||
{required RsProcess that, required String data, dynamic hint});
|
||||
|
||||
RustArcIncrementStrongCountFnType
|
||||
get rust_arc_increment_strong_count_RsProcess;
|
||||
|
||||
RustArcDecrementStrongCountFnType
|
||||
get rust_arc_decrement_strong_count_RsProcess;
|
||||
|
||||
CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RsProcessPtr;
|
||||
Future<void> write({required int rsPid, required String data, dynamic hint});
|
||||
}
|
||||
|
||||
class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
@ -217,160 +203,67 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
);
|
||||
|
||||
@override
|
||||
int? rsProcessGetPid({required RsProcess that, dynamic hint}) {
|
||||
return handler.executeSync(SyncTask(
|
||||
callFfi: () {
|
||||
var arg0 =
|
||||
cst_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
that);
|
||||
return wire.wire_RsProcess_get_pid(arg0);
|
||||
},
|
||||
codec: DcoCodec(
|
||||
decodeSuccessData: dco_decode_opt_box_autoadd_u_32,
|
||||
decodeErrorData: null,
|
||||
),
|
||||
constMeta: kRsProcessGetPidConstMeta,
|
||||
argValues: [that],
|
||||
apiImpl: this,
|
||||
hint: hint,
|
||||
));
|
||||
}
|
||||
|
||||
TaskConstMeta get kRsProcessGetPidConstMeta => const TaskConstMeta(
|
||||
debugName: "RsProcess_get_pid",
|
||||
argNames: ["that"],
|
||||
);
|
||||
|
||||
@override
|
||||
RsProcess rsProcessNew({dynamic hint}) {
|
||||
return handler.executeSync(SyncTask(
|
||||
callFfi: () {
|
||||
return wire.wire_RsProcess_new();
|
||||
},
|
||||
codec: DcoCodec(
|
||||
decodeSuccessData:
|
||||
dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess,
|
||||
decodeErrorData: null,
|
||||
),
|
||||
constMeta: kRsProcessNewConstMeta,
|
||||
argValues: [],
|
||||
apiImpl: this,
|
||||
hint: hint,
|
||||
));
|
||||
}
|
||||
|
||||
TaskConstMeta get kRsProcessNewConstMeta => const TaskConstMeta(
|
||||
debugName: "RsProcess_new",
|
||||
argNames: [],
|
||||
);
|
||||
|
||||
@override
|
||||
Stream<RsProcessStreamData> rsProcessStart(
|
||||
{required RsProcess that,
|
||||
required String executable,
|
||||
Stream<RsProcessStreamData> start(
|
||||
{required String executable,
|
||||
required List<String> arguments,
|
||||
required String workingDirectory,
|
||||
dynamic hint}) {
|
||||
final streamSink = RustStreamSink<RsProcessStreamData>();
|
||||
unawaited(handler.executeNormal(NormalTask(
|
||||
callFfi: (port_) {
|
||||
var arg0 =
|
||||
cst_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
that);
|
||||
var arg1 = cst_encode_String(executable);
|
||||
var arg2 = cst_encode_list_String(arguments);
|
||||
var arg3 = cst_encode_String(workingDirectory);
|
||||
var arg4 = cst_encode_StreamSink_rs_process_stream_data_Dco(streamSink);
|
||||
return wire.wire_RsProcess_start(port_, arg0, arg1, arg2, arg3, arg4);
|
||||
var arg0 = cst_encode_String(executable);
|
||||
var arg1 = cst_encode_list_String(arguments);
|
||||
var arg2 = cst_encode_String(workingDirectory);
|
||||
var arg3 = cst_encode_StreamSink_rs_process_stream_data_Dco(streamSink);
|
||||
return wire.wire_start(port_, arg0, arg1, arg2, arg3);
|
||||
},
|
||||
codec: DcoCodec(
|
||||
decodeSuccessData: dco_decode_unit,
|
||||
decodeErrorData: null,
|
||||
),
|
||||
constMeta: kRsProcessStartConstMeta,
|
||||
argValues: [that, executable, arguments, workingDirectory, streamSink],
|
||||
constMeta: kStartConstMeta,
|
||||
argValues: [executable, arguments, workingDirectory, streamSink],
|
||||
apiImpl: this,
|
||||
hint: hint,
|
||||
)));
|
||||
return streamSink.stream;
|
||||
}
|
||||
|
||||
TaskConstMeta get kRsProcessStartConstMeta => const TaskConstMeta(
|
||||
debugName: "RsProcess_start",
|
||||
argNames: [
|
||||
"that",
|
||||
"executable",
|
||||
"arguments",
|
||||
"workingDirectory",
|
||||
"streamSink"
|
||||
],
|
||||
TaskConstMeta get kStartConstMeta => const TaskConstMeta(
|
||||
debugName: "start",
|
||||
argNames: ["executable", "arguments", "workingDirectory", "streamSink"],
|
||||
);
|
||||
|
||||
@override
|
||||
Future<void> rsProcessWrite(
|
||||
{required RsProcess that, required String data, dynamic hint}) {
|
||||
Future<void> write({required int rsPid, required String data, dynamic hint}) {
|
||||
return handler.executeNormal(NormalTask(
|
||||
callFfi: (port_) {
|
||||
var arg0 =
|
||||
cst_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
that);
|
||||
var arg0 = cst_encode_u_32(rsPid);
|
||||
var arg1 = cst_encode_String(data);
|
||||
return wire.wire_RsProcess_write(port_, arg0, arg1);
|
||||
return wire.wire_write(port_, arg0, arg1);
|
||||
},
|
||||
codec: DcoCodec(
|
||||
decodeSuccessData: dco_decode_unit,
|
||||
decodeErrorData: null,
|
||||
),
|
||||
constMeta: kRsProcessWriteConstMeta,
|
||||
argValues: [that, data],
|
||||
constMeta: kWriteConstMeta,
|
||||
argValues: [rsPid, data],
|
||||
apiImpl: this,
|
||||
hint: hint,
|
||||
));
|
||||
}
|
||||
|
||||
TaskConstMeta get kRsProcessWriteConstMeta => const TaskConstMeta(
|
||||
debugName: "RsProcess_write",
|
||||
argNames: ["that", "data"],
|
||||
TaskConstMeta get kWriteConstMeta => const TaskConstMeta(
|
||||
debugName: "write",
|
||||
argNames: ["rsPid", "data"],
|
||||
);
|
||||
|
||||
RustArcIncrementStrongCountFnType
|
||||
get rust_arc_increment_strong_count_RsProcess => wire
|
||||
.rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess;
|
||||
|
||||
RustArcDecrementStrongCountFnType
|
||||
get rust_arc_decrement_strong_count_RsProcess => wire
|
||||
.rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess;
|
||||
|
||||
@protected
|
||||
AnyhowException dco_decode_AnyhowException(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return AnyhowException(raw as String);
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return RsProcess.dcoDecode(raw as List<dynamic>);
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return RsProcess.dcoDecode(raw as List<dynamic>);
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return RsProcess.dcoDecode(raw as List<dynamic>);
|
||||
}
|
||||
|
||||
@protected
|
||||
Map<String, String> dco_decode_Map_String_String(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
@ -378,14 +271,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
.map((e) => MapEntry(e.$1, e.$2)));
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return RsProcess.dcoDecode(raw as List<dynamic>);
|
||||
}
|
||||
|
||||
@protected
|
||||
RustStreamSink<RsProcessStreamData>
|
||||
dco_decode_StreamSink_rs_process_stream_data_Dco(dynamic raw) {
|
||||
@ -399,12 +284,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return raw as String;
|
||||
}
|
||||
|
||||
@protected
|
||||
int dco_decode_box_autoadd_u_32(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return raw as int;
|
||||
}
|
||||
|
||||
@protected
|
||||
int dco_decode_box_autoadd_u_64(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
@ -459,12 +338,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return raw == null ? null : dco_decode_String(raw);
|
||||
}
|
||||
|
||||
@protected
|
||||
int? dco_decode_opt_box_autoadd_u_32(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return raw == null ? null : dco_decode_box_autoadd_u_32(raw);
|
||||
}
|
||||
|
||||
@protected
|
||||
int? dco_decode_opt_box_autoadd_u_64(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
@ -494,11 +367,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
RsProcessStreamData dco_decode_rs_process_stream_data(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
final arr = raw as List<dynamic>;
|
||||
if (arr.length != 2)
|
||||
throw Exception('unexpected arr length: expect 2 but see ${arr.length}');
|
||||
if (arr.length != 3)
|
||||
throw Exception('unexpected arr length: expect 3 but see ${arr.length}');
|
||||
return RsProcessStreamData(
|
||||
dataType: dco_decode_rs_process_stream_data_type(arr[0]),
|
||||
data: dco_decode_String(arr[1]),
|
||||
rsPid: dco_decode_u_32(arr[2]),
|
||||
);
|
||||
}
|
||||
|
||||
@ -555,12 +429,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return;
|
||||
}
|
||||
|
||||
@protected
|
||||
int dco_decode_usize(dynamic raw) {
|
||||
// Codec=Dco (DartCObject based), see doc to use other codecs
|
||||
return dcoDecodeI64OrU64(raw);
|
||||
}
|
||||
|
||||
@protected
|
||||
AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
@ -568,33 +436,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return AnyhowException(inner);
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return RsProcess.sseDecode(
|
||||
sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return RsProcess.sseDecode(
|
||||
sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return RsProcess.sseDecode(
|
||||
sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
|
||||
}
|
||||
|
||||
@protected
|
||||
Map<String, String> sse_decode_Map_String_String(
|
||||
SseDeserializer deserializer) {
|
||||
@ -603,15 +444,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return Map.fromEntries(inner.map((e) => MapEntry(e.$1, e.$2)));
|
||||
}
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return RsProcess.sseDecode(
|
||||
sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
|
||||
}
|
||||
|
||||
@protected
|
||||
RustStreamSink<RsProcessStreamData>
|
||||
sse_decode_StreamSink_rs_process_stream_data_Dco(
|
||||
@ -627,12 +459,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return utf8.decoder.convert(inner);
|
||||
}
|
||||
|
||||
@protected
|
||||
int sse_decode_box_autoadd_u_32(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return (sse_decode_u_32(deserializer));
|
||||
}
|
||||
|
||||
@protected
|
||||
int sse_decode_box_autoadd_u_64(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
@ -714,17 +540,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
}
|
||||
}
|
||||
|
||||
@protected
|
||||
int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
|
||||
if (sse_decode_bool(deserializer)) {
|
||||
return (sse_decode_box_autoadd_u_32(deserializer));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@protected
|
||||
int? sse_decode_opt_box_autoadd_u_64(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
@ -762,7 +577,9 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
var var_dataType = sse_decode_rs_process_stream_data_type(deserializer);
|
||||
var var_data = sse_decode_String(deserializer);
|
||||
return RsProcessStreamData(dataType: var_dataType, data: var_data);
|
||||
var var_rsPid = sse_decode_u_32(deserializer);
|
||||
return RsProcessStreamData(
|
||||
dataType: var_dataType, data: var_data, rsPid: var_rsPid);
|
||||
}
|
||||
|
||||
@protected
|
||||
@ -822,50 +639,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
}
|
||||
|
||||
@protected
|
||||
int sse_decode_usize(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return deserializer.buffer.getUint64();
|
||||
}
|
||||
|
||||
@protected
|
||||
bool sse_decode_bool(SseDeserializer deserializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
return deserializer.buffer.getUint8() != 0;
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
// ignore: invalid_use_of_internal_member
|
||||
return raw.cstEncode(move: true);
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
// ignore: invalid_use_of_internal_member
|
||||
return raw.cstEncode(move: false);
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
// ignore: invalid_use_of_internal_member
|
||||
return raw.cstEncode(move: false);
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
// ignore: invalid_use_of_internal_member
|
||||
return raw.cstEncode();
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_i_32(int raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
@ -914,12 +693,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
return raw;
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_usize(int raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
return raw;
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_AnyhowException(
|
||||
AnyhowException self, SseSerializer serializer) {
|
||||
@ -927,30 +700,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
throw UnimplementedError('Unreachable ()');
|
||||
}
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
sse_encode_usize(self.sseEncode(move: true), serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
sse_encode_usize(self.sseEncode(move: false), serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
sse_encode_usize(self.sseEncode(move: false), serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_Map_String_String(
|
||||
Map<String, String> self, SseSerializer serializer) {
|
||||
@ -959,14 +708,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
self.entries.map((e) => (e.key, e.value)).toList(), serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
sse_encode_usize(self.sseEncode(move: null), serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_StreamSink_rs_process_stream_data_Dco(
|
||||
RustStreamSink<RsProcessStreamData> self, SseSerializer serializer) {
|
||||
@ -985,12 +726,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
sse_encode_list_prim_u_8_strict(utf8.encoder.convert(self), serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
sse_encode_u_32(self, serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_box_autoadd_u_64(int self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
@ -1064,16 +799,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
}
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
|
||||
sse_encode_bool(self != null, serializer);
|
||||
if (self != null) {
|
||||
sse_encode_box_autoadd_u_32(self, serializer);
|
||||
}
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_opt_box_autoadd_u_64(int? self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
@ -1109,6 +834,7 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
sse_encode_rs_process_stream_data_type(self.dataType, serializer);
|
||||
sse_encode_String(self.data, serializer);
|
||||
sse_encode_u_32(self.rsPid, serializer);
|
||||
}
|
||||
|
||||
@protected
|
||||
@ -1160,12 +886,6 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_usize(int self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
serializer.buffer.putUint64(self);
|
||||
}
|
||||
|
||||
@protected
|
||||
void sse_encode_bool(bool self, SseSerializer serializer) {
|
||||
// Codec=Sse (Serialization based), see doc to use other codecs
|
||||
|
@ -20,35 +20,12 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
required super.portManager,
|
||||
});
|
||||
|
||||
CrossPlatformFinalizerArg get rust_arc_decrement_strong_count_RsProcessPtr =>
|
||||
wire._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcessPtr;
|
||||
|
||||
@protected
|
||||
AnyhowException dco_decode_AnyhowException(dynamic raw);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw);
|
||||
|
||||
@protected
|
||||
Map<String, String> dco_decode_Map_String_String(dynamic raw);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
dco_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
dynamic raw);
|
||||
|
||||
@protected
|
||||
RustStreamSink<RsProcessStreamData>
|
||||
dco_decode_StreamSink_rs_process_stream_data_Dco(dynamic raw);
|
||||
@ -56,9 +33,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
String dco_decode_String(dynamic raw);
|
||||
|
||||
@protected
|
||||
int dco_decode_box_autoadd_u_32(dynamic raw);
|
||||
|
||||
@protected
|
||||
int dco_decode_box_autoadd_u_64(dynamic raw);
|
||||
|
||||
@ -86,9 +60,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
String? dco_decode_opt_String(dynamic raw);
|
||||
|
||||
@protected
|
||||
int? dco_decode_opt_box_autoadd_u_32(dynamic raw);
|
||||
|
||||
@protected
|
||||
int? dco_decode_opt_box_autoadd_u_64(dynamic raw);
|
||||
|
||||
@ -122,36 +93,13 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
void dco_decode_unit(dynamic raw);
|
||||
|
||||
@protected
|
||||
int dco_decode_usize(dynamic raw);
|
||||
|
||||
@protected
|
||||
AnyhowException sse_decode_AnyhowException(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
Map<String, String> sse_decode_Map_String_String(
|
||||
SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
RsProcess
|
||||
sse_decode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
RustStreamSink<RsProcessStreamData>
|
||||
sse_decode_StreamSink_rs_process_stream_data_Dco(
|
||||
@ -160,9 +108,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
String sse_decode_String(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
int sse_decode_box_autoadd_u_32(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
int sse_decode_box_autoadd_u_64(SseDeserializer deserializer);
|
||||
|
||||
@ -192,9 +137,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
String? sse_decode_opt_String(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
int? sse_decode_opt_box_autoadd_u_32(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
int? sse_decode_opt_box_autoadd_u_64(SseDeserializer deserializer);
|
||||
|
||||
@ -231,9 +173,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
void sse_decode_unit(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
int sse_decode_usize(SseDeserializer deserializer);
|
||||
|
||||
@protected
|
||||
bool sse_decode_bool(SseDeserializer deserializer);
|
||||
|
||||
@ -269,12 +208,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
return cst_encode_list_prim_u_8_strict(utf8.encoder.convert(raw));
|
||||
}
|
||||
|
||||
@protected
|
||||
ffi.Pointer<ffi.Uint32> cst_encode_box_autoadd_u_32(int raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
return wire.cst_new_box_autoadd_u_32(cst_encode_u_32(raw));
|
||||
}
|
||||
|
||||
@protected
|
||||
ffi.Pointer<ffi.Uint64> cst_encode_box_autoadd_u_64(int raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
@ -325,12 +258,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
return raw == null ? ffi.nullptr : cst_encode_String(raw);
|
||||
}
|
||||
|
||||
@protected
|
||||
ffi.Pointer<ffi.Uint32> cst_encode_opt_box_autoadd_u_32(int? raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
return raw == null ? ffi.nullptr : cst_encode_box_autoadd_u_32(raw);
|
||||
}
|
||||
|
||||
@protected
|
||||
ffi.Pointer<ffi.Uint64> cst_encode_opt_box_autoadd_u_64(int? raw) {
|
||||
// Codec=Cst (C-struct based), see doc to use other codecs
|
||||
@ -362,6 +289,7 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
RsProcessStreamData apiObj, wire_cst_rs_process_stream_data wireObj) {
|
||||
wireObj.data_type = cst_encode_rs_process_stream_data_type(apiObj.dataType);
|
||||
wireObj.data = cst_encode_String(apiObj.data);
|
||||
wireObj.rs_pid = cst_encode_u_32(apiObj.rsPid);
|
||||
}
|
||||
|
||||
@protected
|
||||
@ -377,22 +305,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
wireObj.data = cst_encode_opt_list_prim_u_8_strict(apiObj.data);
|
||||
}
|
||||
|
||||
@protected
|
||||
int cst_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw);
|
||||
|
||||
@protected
|
||||
int cst_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw);
|
||||
|
||||
@protected
|
||||
int cst_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw);
|
||||
|
||||
@protected
|
||||
int cst_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess raw);
|
||||
|
||||
@protected
|
||||
int cst_encode_i_32(int raw);
|
||||
|
||||
@ -417,37 +329,14 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
void cst_encode_unit(void raw);
|
||||
|
||||
@protected
|
||||
int cst_encode_usize(int raw);
|
||||
|
||||
@protected
|
||||
void sse_encode_AnyhowException(
|
||||
AnyhowException self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_Auto_RefMut_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_Map_String_String(
|
||||
Map<String, String> self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void
|
||||
sse_encode_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
RsProcess self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_StreamSink_rs_process_stream_data_Dco(
|
||||
RustStreamSink<RsProcessStreamData> self, SseSerializer serializer);
|
||||
@ -455,9 +344,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
void sse_encode_String(String self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_box_autoadd_u_32(int self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_box_autoadd_u_64(int self, SseSerializer serializer);
|
||||
|
||||
@ -488,9 +374,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
void sse_encode_opt_String(String? self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_opt_box_autoadd_u_32(int? self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_opt_box_autoadd_u_64(int? self, SseSerializer serializer);
|
||||
|
||||
@ -529,9 +412,6 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
|
||||
@protected
|
||||
void sse_encode_unit(void self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_usize(int self, SseSerializer serializer);
|
||||
|
||||
@protected
|
||||
void sse_encode_bool(bool self, SseSerializer serializer);
|
||||
}
|
||||
@ -668,41 +548,15 @@ class RustLibWire implements BaseWire {
|
||||
late final _wire_set_default_header = _wire_set_default_headerPtr.asFunction<
|
||||
void Function(int, ffi.Pointer<wire_cst_list_record_string_string>)>();
|
||||
|
||||
WireSyncRust2DartDco wire_RsProcess_get_pid(
|
||||
int that,
|
||||
) {
|
||||
return _wire_RsProcess_get_pid(
|
||||
that,
|
||||
);
|
||||
}
|
||||
|
||||
late final _wire_RsProcess_get_pidPtr =
|
||||
_lookup<ffi.NativeFunction<WireSyncRust2DartDco Function(ffi.UintPtr)>>(
|
||||
'frbgen_starcitizen_doctor_wire_RsProcess_get_pid');
|
||||
late final _wire_RsProcess_get_pid = _wire_RsProcess_get_pidPtr
|
||||
.asFunction<WireSyncRust2DartDco Function(int)>();
|
||||
|
||||
WireSyncRust2DartDco wire_RsProcess_new() {
|
||||
return _wire_RsProcess_new();
|
||||
}
|
||||
|
||||
late final _wire_RsProcess_newPtr =
|
||||
_lookup<ffi.NativeFunction<WireSyncRust2DartDco Function()>>(
|
||||
'frbgen_starcitizen_doctor_wire_RsProcess_new');
|
||||
late final _wire_RsProcess_new =
|
||||
_wire_RsProcess_newPtr.asFunction<WireSyncRust2DartDco Function()>();
|
||||
|
||||
void wire_RsProcess_start(
|
||||
void wire_start(
|
||||
int port_,
|
||||
int that,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict> executable,
|
||||
ffi.Pointer<wire_cst_list_String> arguments,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict> working_directory,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict> stream_sink,
|
||||
) {
|
||||
return _wire_RsProcess_start(
|
||||
return _wire_start(
|
||||
port_,
|
||||
that,
|
||||
executable,
|
||||
arguments,
|
||||
working_directory,
|
||||
@ -710,91 +564,43 @@ class RustLibWire implements BaseWire {
|
||||
);
|
||||
}
|
||||
|
||||
late final _wire_RsProcess_startPtr = _lookup<
|
||||
late final _wire_startPtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(
|
||||
ffi.Int64,
|
||||
ffi.UintPtr,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
|
||||
ffi.Pointer<wire_cst_list_String>,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>)>>(
|
||||
'frbgen_starcitizen_doctor_wire_RsProcess_start');
|
||||
late final _wire_RsProcess_start = _wire_RsProcess_startPtr.asFunction<
|
||||
'frbgen_starcitizen_doctor_wire_start');
|
||||
late final _wire_start = _wire_startPtr.asFunction<
|
||||
void Function(
|
||||
int,
|
||||
int,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
|
||||
ffi.Pointer<wire_cst_list_String>,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>)>();
|
||||
|
||||
void wire_RsProcess_write(
|
||||
void wire_write(
|
||||
int port_,
|
||||
int that,
|
||||
int rs_pid,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict> data,
|
||||
) {
|
||||
return _wire_RsProcess_write(
|
||||
return _wire_write(
|
||||
port_,
|
||||
that,
|
||||
rs_pid,
|
||||
data,
|
||||
);
|
||||
}
|
||||
|
||||
late final _wire_RsProcess_writePtr = _lookup<
|
||||
late final _wire_writePtr = _lookup<
|
||||
ffi.NativeFunction<
|
||||
ffi.Void Function(ffi.Int64, ffi.UintPtr,
|
||||
ffi.Void Function(ffi.Int64, ffi.Uint32,
|
||||
ffi.Pointer<wire_cst_list_prim_u_8_strict>)>>(
|
||||
'frbgen_starcitizen_doctor_wire_RsProcess_write');
|
||||
late final _wire_RsProcess_write = _wire_RsProcess_writePtr.asFunction<
|
||||
'frbgen_starcitizen_doctor_wire_write');
|
||||
late final _wire_write = _wire_writePtr.asFunction<
|
||||
void Function(int, int, ffi.Pointer<wire_cst_list_prim_u_8_strict>)>();
|
||||
|
||||
void
|
||||
rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
ffi.Pointer<ffi.Void> ptr,
|
||||
) {
|
||||
return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
ptr,
|
||||
);
|
||||
}
|
||||
|
||||
late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcessPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
|
||||
'frbgen_starcitizen_doctor_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess');
|
||||
late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess =
|
||||
_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcessPtr
|
||||
.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
|
||||
|
||||
void
|
||||
rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
ffi.Pointer<ffi.Void> ptr,
|
||||
) {
|
||||
return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess(
|
||||
ptr,
|
||||
);
|
||||
}
|
||||
|
||||
late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcessPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
|
||||
'frbgen_starcitizen_doctor_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess');
|
||||
late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcess =
|
||||
_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedrust_asyncRwLockRsProcessPtr
|
||||
.asFunction<void Function(ffi.Pointer<ffi.Void>)>();
|
||||
|
||||
ffi.Pointer<ffi.Uint32> cst_new_box_autoadd_u_32(
|
||||
int value,
|
||||
) {
|
||||
return _cst_new_box_autoadd_u_32(
|
||||
value,
|
||||
);
|
||||
}
|
||||
|
||||
late final _cst_new_box_autoadd_u_32Ptr =
|
||||
_lookup<ffi.NativeFunction<ffi.Pointer<ffi.Uint32> Function(ffi.Uint32)>>(
|
||||
'frbgen_starcitizen_doctor_cst_new_box_autoadd_u_32');
|
||||
late final _cst_new_box_autoadd_u_32 = _cst_new_box_autoadd_u_32Ptr
|
||||
.asFunction<ffi.Pointer<ffi.Uint32> Function(int)>();
|
||||
|
||||
ffi.Pointer<ffi.Uint64> cst_new_box_autoadd_u_64(
|
||||
int value,
|
||||
) {
|
||||
@ -909,6 +715,9 @@ final class wire_cst_rs_process_stream_data extends ffi.Struct {
|
||||
external int data_type;
|
||||
|
||||
external ffi.Pointer<wire_cst_list_prim_u_8_strict> data;
|
||||
|
||||
@ffi.Uint32()
|
||||
external int rs_pid;
|
||||
}
|
||||
|
||||
final class wire_cst_rust_http_response extends ffi.Struct {
|
||||
|
@ -8,7 +8,8 @@ import 'package:flutter/foundation.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:starcitizen_doctor/api/api.dart';
|
||||
import 'package:starcitizen_doctor/common/helper/system_helper.dart';
|
||||
import 'package:starcitizen_doctor/common/rust/api/rs_process.dart';
|
||||
import 'package:starcitizen_doctor/common/rust/api/rs_process.dart'
|
||||
as rs_process;
|
||||
|
||||
import 'package:starcitizen_doctor/common/utils/log.dart';
|
||||
import 'package:starcitizen_doctor/common/utils/provider.dart';
|
||||
@ -97,9 +98,7 @@ class Aria2cModel extends _$Aria2cModel {
|
||||
dPrint("trackerList === $trackerList");
|
||||
dPrint("Aria2cManager .----- aria2c start $port------");
|
||||
|
||||
final rsp = RsProcess();
|
||||
|
||||
final stream = rsp.start(
|
||||
final stream = rs_process.start(
|
||||
executable: exePath,
|
||||
arguments: [
|
||||
"-V",
|
||||
@ -124,16 +123,16 @@ class Aria2cModel extends _$Aria2cModel {
|
||||
stream.listen((event) {
|
||||
dPrint("Aria2cManager.rs_process event === $event");
|
||||
switch (event.dataType) {
|
||||
case RsProcessStreamDataType.output:
|
||||
case rs_process.RsProcessStreamDataType.output:
|
||||
if (event.data.contains("IPv4 RPC: listening on TCP port")) {
|
||||
_onLaunch(port, pwd, trackerList);
|
||||
}
|
||||
break;
|
||||
case RsProcessStreamDataType.error:
|
||||
case rs_process.RsProcessStreamDataType.error:
|
||||
launchError = event.data;
|
||||
state = state.copyWith(aria2c: null);
|
||||
break;
|
||||
case RsProcessStreamDataType.exit:
|
||||
case rs_process.RsProcessStreamDataType.exit:
|
||||
launchError = event.data;
|
||||
state = state.copyWith(aria2c: null);
|
||||
break;
|
||||
|
@ -11,6 +11,8 @@ import 'package:starcitizen_doctor/common/utils/log.dart';
|
||||
import 'package:starcitizen_doctor/common/utils/provider.dart';
|
||||
import 'package:starcitizen_doctor/data/app_unp4k_p4k_item_data.dart';
|
||||
import 'package:starcitizen_doctor/ui/tools/tools_ui_model.dart';
|
||||
import 'package:starcitizen_doctor/common/rust/api/rs_process.dart'
|
||||
as rs_process;
|
||||
|
||||
part 'unp4kc.freezed.dart';
|
||||
|
||||
@ -30,7 +32,7 @@ class Unp4kcState with _$Unp4kcState {
|
||||
|
||||
@riverpod
|
||||
class Unp4kCModel extends _$Unp4kCModel {
|
||||
RsProcess? _process;
|
||||
int? _rsPid;
|
||||
|
||||
@override
|
||||
Unp4kcState build() {
|
||||
@ -49,20 +51,17 @@ class Unp4kCModel extends _$Unp4kCModel {
|
||||
await BinaryModuleConf.extractModule(
|
||||
["unp4kc"], appGlobalState.applicationBinaryModuleDir!);
|
||||
final exec = "$execDir\\unp4kc.exe";
|
||||
// final ps = await Process.start(exec, []);
|
||||
// StringBuffer stringBuffer = StringBuffer();
|
||||
|
||||
_process = RsProcess();
|
||||
|
||||
final stream = _process?.start(
|
||||
final stream = rs_process.start(
|
||||
executable: exec, arguments: [], workingDirectory: execDir);
|
||||
|
||||
stream?.listen((event) async {
|
||||
stream.listen((event) async {
|
||||
_rsPid = event.rsPid;
|
||||
switch (event.dataType) {
|
||||
case RsProcessStreamDataType.output:
|
||||
try {
|
||||
final eventJson = await compute(json.decode, event.data);
|
||||
_handleMessage(eventJson);
|
||||
_handleMessage(eventJson, event.rsPid);
|
||||
} catch (e) {
|
||||
dPrint("[unp4kc] json error: $e");
|
||||
}
|
||||
@ -77,22 +76,21 @@ class Unp4kCModel extends _$Unp4kCModel {
|
||||
});
|
||||
|
||||
ref.onDispose(() {
|
||||
final pid = _process?.getPid();
|
||||
if (pid != null) {
|
||||
Process.killPid(pid);
|
||||
if (_rsPid != null) {
|
||||
Process.killPid(_rsPid!);
|
||||
dPrint("[unp4kc] kill ...");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void _handleMessage(Map<String, dynamic> eventJson) async {
|
||||
void _handleMessage(Map<String, dynamic> eventJson, int rsPid) async {
|
||||
final action = eventJson["action"];
|
||||
final data = eventJson["data"];
|
||||
final gamePath = getGamePath();
|
||||
final gameP4kPath = "$gamePath\\Data.p4k";
|
||||
switch (action.toString().trim()) {
|
||||
case "info: startup":
|
||||
_process?.write(data: "$gameP4kPath\n");
|
||||
rs_process.write(rsPid: rsPid, data: "$gameP4kPath\n");
|
||||
state = state.copyWith(endMessage: "正在读取P4K 文件 ...");
|
||||
break;
|
||||
case "data: P4K_Files":
|
||||
@ -195,6 +193,9 @@ class Unp4kCModel extends _$Unp4kCModel {
|
||||
}
|
||||
outputPath = "$outputPath$filePath";
|
||||
dPrint("extractFile .... $filePath");
|
||||
_process?.write(data: "$mode<:,:>$filePath<:,:>$outputPath");
|
||||
if (_rsPid != null) {
|
||||
rs_process.write(
|
||||
rsPid: _rsPid!, data: "$mode<:,:>$filePath<:,:>$outputPath");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user