1#![allow(
5 non_camel_case_types,
6 unused,
7 non_snake_case,
8 clippy::needless_return,
9 clippy::redundant_closure_call,
10 clippy::redundant_closure,
11 clippy::useless_conversion,
12 clippy::unit_arg,
13 clippy::unused_unit,
14 clippy::double_parens,
15 clippy::let_and_return,
16 clippy::too_many_arguments,
17 clippy::match_single_binding,
18 clippy::clone_on_copy,
19 clippy::let_unit_value,
20 clippy::deref_addrof,
21 clippy::explicit_auto_deref,
22 clippy::borrow_deref_ref,
23 clippy::uninlined_format_args,
24 clippy::needless_borrow,
25 mismatched_lifetime_syntaxes
26)]
27
28use crate::api::onnx::*;
31use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt};
32use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
33use flutter_rust_bridge::{Handler, IntoIntoDart};
34
35flutter_rust_bridge::frb_generated_boilerplate!(
38 default_stream_sink_codec = SseCodec,
39 default_rust_opaque = RustOpaqueMoi,
40 default_rust_auto_opaque = RustAutoOpaqueMoi,
41);
42pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.13.0";
43pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -247470261;
44
45flutter_rust_bridge::frb_generated_default_handler!();
48
49fn wire__crate__api__simple__async_heavy_work_impl(
52 port_: flutter_rust_bridge::for_generated::MessagePort,
53 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
54 rust_vec_len_: i32,
55 data_len_: i32,
56) {
57 FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::<flutter_rust_bridge::for_generated::SseCodec, _, _, _>(
58 flutter_rust_bridge::for_generated::TaskInfo {
59 debug_name: "async_heavy_work",
60 port: Some(port_),
61 mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
62 },
63 move || {
64 let message = unsafe {
65 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
66 ptr_,
67 rust_vec_len_,
68 data_len_,
69 )
70 };
71 let mut deserializer =
72 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
73 let api_input = <i32>::sse_decode(&mut deserializer);
74 deserializer.end();
75 move |context| async move {
76 transform_result_sse::<_, ()>(
77 (move || async move {
78 let output_ok =
79 Ok::<_, ()>(crate::api::simple::async_heavy_work(api_input).await)?;
80 std::result::Result::Ok(output_ok)
81 })()
82 .await,
83 )
84 }
85 },
86 )
87}
88fn wire__crate__api__onnx__detect_persons_rgba_impl(
89 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
90 rust_vec_len_: i32,
91 data_len_: i32,
92) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
93 FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
94 flutter_rust_bridge::for_generated::TaskInfo {
95 debug_name: "detect_persons_rgba",
96 port: None,
97 mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
98 },
99 move || {
100 let message = unsafe {
101 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
102 ptr_,
103 rust_vec_len_,
104 data_len_,
105 )
106 };
107 let mut deserializer =
108 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
109 let api_model_path = <String>::sse_decode(&mut deserializer);
110 let api_rgba = <Vec<u8>>::sse_decode(&mut deserializer);
111 let api_width = <u32>::sse_decode(&mut deserializer);
112 let api_height = <u32>::sse_decode(&mut deserializer);
113 let api_score_threshold = <f32>::sse_decode(&mut deserializer);
114 deserializer.end();
115 transform_result_sse::<_, String>((move || {
116 let output_ok = crate::api::onnx::detect_persons_rgba(
117 api_model_path,
118 api_rgba,
119 api_width,
120 api_height,
121 api_score_threshold,
122 )?;
123 std::result::Result::Ok(output_ok)
124 })())
125 },
126 )
127}
128fn wire__crate__api__simple__greet_impl(
129 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
130 rust_vec_len_: i32,
131 data_len_: i32,
132) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
133 FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
134 flutter_rust_bridge::for_generated::TaskInfo {
135 debug_name: "greet",
136 port: None,
137 mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
138 },
139 move || {
140 let message = unsafe {
141 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
142 ptr_,
143 rust_vec_len_,
144 data_len_,
145 )
146 };
147 let mut deserializer =
148 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
149 let api_name = <String>::sse_decode(&mut deserializer);
150 deserializer.end();
151 transform_result_sse::<_, ()>((move || {
152 let output_ok = Ok::<_, ()>(crate::api::simple::greet(api_name))?;
153 std::result::Result::Ok(output_ok)
154 })())
155 },
156 )
157}
158fn wire__crate__api__simple__heavy_computation_impl(
159 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
160 rust_vec_len_: i32,
161 data_len_: i32,
162) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
163 FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
164 flutter_rust_bridge::for_generated::TaskInfo {
165 debug_name: "heavy_computation",
166 port: None,
167 mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
168 },
169 move || {
170 let message = unsafe {
171 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
172 ptr_,
173 rust_vec_len_,
174 data_len_,
175 )
176 };
177 let mut deserializer =
178 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
179 let api_input = <i32>::sse_decode(&mut deserializer);
180 deserializer.end();
181 transform_result_sse::<_, ()>((move || {
182 let output_ok = Ok::<_, ()>(crate::api::simple::heavy_computation(api_input))?;
183 std::result::Result::Ok(output_ok)
184 })())
185 },
186 )
187}
188fn wire__crate__api__simple__init_app_impl(
189 port_: flutter_rust_bridge::for_generated::MessagePort,
190 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
191 rust_vec_len_: i32,
192 data_len_: i32,
193) {
194 FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::SseCodec, _, _>(
195 flutter_rust_bridge::for_generated::TaskInfo {
196 debug_name: "init_app",
197 port: Some(port_),
198 mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
199 },
200 move || {
201 let message = unsafe {
202 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
203 ptr_,
204 rust_vec_len_,
205 data_len_,
206 )
207 };
208 let mut deserializer =
209 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
210 deserializer.end();
211 move |context| {
212 transform_result_sse::<_, ()>((move || {
213 let output_ok = Ok::<_, ()>({
214 crate::api::simple::init_app();
215 })?;
216 std::result::Result::Ok(output_ok)
217 })())
218 }
219 },
220 )
221}
222fn wire__crate__api__webcam__list_cameras_impl(
223 port_: flutter_rust_bridge::for_generated::MessagePort,
224 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
225 rust_vec_len_: i32,
226 data_len_: i32,
227) {
228 FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::SseCodec, _, _>(
229 flutter_rust_bridge::for_generated::TaskInfo {
230 debug_name: "list_cameras",
231 port: Some(port_),
232 mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
233 },
234 move || {
235 let message = unsafe {
236 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
237 ptr_,
238 rust_vec_len_,
239 data_len_,
240 )
241 };
242 let mut deserializer =
243 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
244 deserializer.end();
245 move |context| {
246 transform_result_sse::<_, String>((move || {
247 let output_ok = crate::api::webcam::list_cameras()?;
248 std::result::Result::Ok(output_ok)
249 })())
250 }
251 },
252 )
253}
254fn wire__crate__api__webcam__start_webcam_inference_impl(
255 port_: flutter_rust_bridge::for_generated::MessagePort,
256 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
257 rust_vec_len_: i32,
258 data_len_: i32,
259) {
260 FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::SseCodec, _, _>(
261 flutter_rust_bridge::for_generated::TaskInfo {
262 debug_name: "start_webcam_inference",
263 port: Some(port_),
264 mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
265 },
266 move || {
267 let message = unsafe {
268 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
269 ptr_,
270 rust_vec_len_,
271 data_len_,
272 )
273 };
274 let mut deserializer =
275 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
276 let api_config =
277 <crate::api::webcam::WebcamStreamConfig>::sse_decode(&mut deserializer);
278 let api_sink = <StreamSink<
279 crate::api::webcam::DetectionEvent,
280 flutter_rust_bridge::for_generated::SseCodec,
281 >>::sse_decode(&mut deserializer);
282 deserializer.end();
283 move |context| {
284 transform_result_sse::<_, String>((move || {
285 let output_ok =
286 crate::api::webcam::start_webcam_inference(api_config, api_sink)?;
287 std::result::Result::Ok(output_ok)
288 })())
289 }
290 },
291 )
292}
293fn wire__crate__api__webcam__stop_webcam_inference_impl(
294 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
295 rust_vec_len_: i32,
296 data_len_: i32,
297) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
298 FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
299 flutter_rust_bridge::for_generated::TaskInfo {
300 debug_name: "stop_webcam_inference",
301 port: None,
302 mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
303 },
304 move || {
305 let message = unsafe {
306 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
307 ptr_,
308 rust_vec_len_,
309 data_len_,
310 )
311 };
312 let mut deserializer =
313 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
314 deserializer.end();
315 transform_result_sse::<_, ()>((move || {
316 let output_ok = Ok::<_, ()>({
317 crate::api::webcam::stop_webcam_inference();
318 })?;
319 std::result::Result::Ok(output_ok)
320 })())
321 },
322 )
323}
324fn wire__crate__api__webcam__webcam_inference_available_impl(
325 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
326 rust_vec_len_: i32,
327 data_len_: i32,
328) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
329 FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
330 flutter_rust_bridge::for_generated::TaskInfo {
331 debug_name: "webcam_inference_available",
332 port: None,
333 mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
334 },
335 move || {
336 let message = unsafe {
337 flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
338 ptr_,
339 rust_vec_len_,
340 data_len_,
341 )
342 };
343 let mut deserializer =
344 flutter_rust_bridge::for_generated::SseDeserializer::new(message);
345 deserializer.end();
346 transform_result_sse::<_, ()>((move || {
347 let output_ok = Ok::<_, ()>(crate::api::webcam::webcam_inference_available())?;
348 std::result::Result::Ok(output_ok)
349 })())
350 },
351 )
352}
353
354flutter_rust_bridge::frb_generated_moi_arc_impl_value!(
357 flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>
358);
359
360impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error {
363 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
365 let mut inner = <String>::sse_decode(deserializer);
366 return flutter_rust_bridge::for_generated::anyhow::anyhow!("{}", inner);
367 }
368}
369
370impl SseDecode for Detection {
371 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
373 let mut inner = <RustOpaqueMoi<
374 flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>,
375 >>::sse_decode(deserializer);
376 return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner);
377 }
378}
379
380impl SseDecode
381 for RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>
382{
383 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
385 let mut inner = <usize>::sse_decode(deserializer);
386 return decode_rust_opaque_moi(inner);
387 }
388}
389
390impl SseDecode
391 for StreamSink<crate::api::webcam::DetectionEvent, flutter_rust_bridge::for_generated::SseCodec>
392{
393 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
395 let mut inner = <String>::sse_decode(deserializer);
396 return StreamSink::deserialize(inner);
397 }
398}
399
400impl SseDecode for String {
401 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
403 let mut inner = <Vec<u8>>::sse_decode(deserializer);
404 return String::from_utf8(inner).unwrap();
405 }
406}
407
408impl SseDecode for bool {
409 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
411 deserializer.cursor.read_u8().unwrap() != 0
412 }
413}
414
415impl SseDecode for crate::api::webcam::CameraDesc {
416 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
418 let mut var_index = <u32>::sse_decode(deserializer);
419 let mut var_name = <String>::sse_decode(deserializer);
420 return crate::api::webcam::CameraDesc {
421 index: var_index,
422 name: var_name,
423 };
424 }
425}
426
427impl SseDecode for crate::api::webcam::DetectionBox {
428 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
430 let mut var_x1 = <f32>::sse_decode(deserializer);
431 let mut var_y1 = <f32>::sse_decode(deserializer);
432 let mut var_x2 = <f32>::sse_decode(deserializer);
433 let mut var_y2 = <f32>::sse_decode(deserializer);
434 let mut var_score = <f32>::sse_decode(deserializer);
435 let mut var_classId = <i64>::sse_decode(deserializer);
436 return crate::api::webcam::DetectionBox {
437 x1: var_x1,
438 y1: var_y1,
439 x2: var_x2,
440 y2: var_y2,
441 score: var_score,
442 class_id: var_classId,
443 };
444 }
445}
446
447impl SseDecode for crate::api::webcam::DetectionEvent {
448 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
450 let mut var_detections = <Vec<crate::api::webcam::DetectionBox>>::sse_decode(deserializer);
451 let mut var_frameSequence = <u64>::sse_decode(deserializer);
452 let mut var_ptsMs = <Option<u64>>::sse_decode(deserializer);
453 let mut var_inferenceMs = <f64>::sse_decode(deserializer);
454 let mut var_fps = <f32>::sse_decode(deserializer);
455 return crate::api::webcam::DetectionEvent {
456 detections: var_detections,
457 frame_sequence: var_frameSequence,
458 pts_ms: var_ptsMs,
459 inference_ms: var_inferenceMs,
460 fps: var_fps,
461 };
462 }
463}
464
465impl SseDecode for f32 {
466 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
468 deserializer.cursor.read_f32::<NativeEndian>().unwrap()
469 }
470}
471
472impl SseDecode for f64 {
473 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
475 deserializer.cursor.read_f64::<NativeEndian>().unwrap()
476 }
477}
478
479impl SseDecode for i32 {
480 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
482 deserializer.cursor.read_i32::<NativeEndian>().unwrap()
483 }
484}
485
486impl SseDecode for i64 {
487 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
489 deserializer.cursor.read_i64::<NativeEndian>().unwrap()
490 }
491}
492
493impl SseDecode for Vec<Detection> {
494 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
496 let mut len_ = <i32>::sse_decode(deserializer);
497 let mut ans_ = Vec::with_capacity(len_ as usize);
498 for idx_ in 0..len_ {
499 ans_.push(<Detection>::sse_decode(deserializer));
500 }
501 return ans_;
502 }
503}
504
505impl SseDecode for Vec<crate::api::webcam::CameraDesc> {
506 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
508 let mut len_ = <i32>::sse_decode(deserializer);
509 let mut ans_ = Vec::with_capacity(len_ as usize);
510 for idx_ in 0..len_ {
511 ans_.push(<crate::api::webcam::CameraDesc>::sse_decode(deserializer));
512 }
513 return ans_;
514 }
515}
516
517impl SseDecode for Vec<crate::api::webcam::DetectionBox> {
518 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
520 let mut len_ = <i32>::sse_decode(deserializer);
521 let mut ans_ = Vec::with_capacity(len_ as usize);
522 for idx_ in 0..len_ {
523 ans_.push(<crate::api::webcam::DetectionBox>::sse_decode(deserializer));
524 }
525 return ans_;
526 }
527}
528
529impl SseDecode for Vec<u8> {
530 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
532 let mut len_ = <i32>::sse_decode(deserializer);
533 let mut ans_ = Vec::with_capacity(len_ as usize);
534 for idx_ in 0..len_ {
535 ans_.push(<u8>::sse_decode(deserializer));
536 }
537 return ans_;
538 }
539}
540
541impl SseDecode for Option<String> {
542 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
544 if (<bool>::sse_decode(deserializer)) {
545 return Some(<String>::sse_decode(deserializer));
546 } else {
547 return None;
548 }
549 }
550}
551
552impl SseDecode for Option<u32> {
553 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
555 if (<bool>::sse_decode(deserializer)) {
556 return Some(<u32>::sse_decode(deserializer));
557 } else {
558 return None;
559 }
560 }
561}
562
563impl SseDecode for Option<u64> {
564 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
566 if (<bool>::sse_decode(deserializer)) {
567 return Some(<u64>::sse_decode(deserializer));
568 } else {
569 return None;
570 }
571 }
572}
573
574impl SseDecode for u32 {
575 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
577 deserializer.cursor.read_u32::<NativeEndian>().unwrap()
578 }
579}
580
581impl SseDecode for u64 {
582 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
584 deserializer.cursor.read_u64::<NativeEndian>().unwrap()
585 }
586}
587
588impl SseDecode for u8 {
589 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
591 deserializer.cursor.read_u8().unwrap()
592 }
593}
594
595impl SseDecode for () {
596 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {}
598}
599
600impl SseDecode for usize {
601 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
603 deserializer.cursor.read_u64::<NativeEndian>().unwrap() as _
604 }
605}
606
607impl SseDecode for crate::api::webcam::WebcamStreamConfig {
608 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
610 let mut var_useTestSource = <bool>::sse_decode(deserializer);
611 let mut var_deviceIndex = <Option<u32>>::sse_decode(deserializer);
612 let mut var_width = <u32>::sse_decode(deserializer);
613 let mut var_height = <u32>::sse_decode(deserializer);
614 let mut var_framerate = <u32>::sse_decode(deserializer);
615 let mut var_modelPath = <String>::sse_decode(deserializer);
616 let mut var_scoreThreshold = <f32>::sse_decode(deserializer);
617 let mut var_textureId = <i64>::sse_decode(deserializer);
618 let mut var_textureLibrary = <Option<String>>::sse_decode(deserializer);
619 return crate::api::webcam::WebcamStreamConfig {
620 use_test_source: var_useTestSource,
621 device_index: var_deviceIndex,
622 width: var_width,
623 height: var_height,
624 framerate: var_framerate,
625 model_path: var_modelPath,
626 score_threshold: var_scoreThreshold,
627 texture_id: var_textureId,
628 texture_library: var_textureLibrary,
629 };
630 }
631}
632
633fn pde_ffi_dispatcher_primary_impl(
634 func_id: i32,
635 port: flutter_rust_bridge::for_generated::MessagePort,
636 ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
637 rust_vec_len: i32,
638 data_len: i32,
639) {
640 match func_id {
642 1 => wire__crate__api__simple__async_heavy_work_impl(port, ptr, rust_vec_len, data_len),
643 5 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len),
644 6 => wire__crate__api__webcam__list_cameras_impl(port, ptr, rust_vec_len, data_len),
645 7 => {
646 wire__crate__api__webcam__start_webcam_inference_impl(port, ptr, rust_vec_len, data_len)
647 }
648 _ => unreachable!(),
649 }
650}
651
652fn pde_ffi_dispatcher_sync_impl(
653 func_id: i32,
654 ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
655 rust_vec_len: i32,
656 data_len: i32,
657) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
658 match func_id {
660 2 => wire__crate__api__onnx__detect_persons_rgba_impl(ptr, rust_vec_len, data_len),
661 3 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len),
662 4 => wire__crate__api__simple__heavy_computation_impl(ptr, rust_vec_len, data_len),
663 8 => wire__crate__api__webcam__stop_webcam_inference_impl(ptr, rust_vec_len, data_len),
664 9 => wire__crate__api__webcam__webcam_inference_available_impl(ptr, rust_vec_len, data_len),
665 _ => unreachable!(),
666 }
667}
668
669impl flutter_rust_bridge::IntoDart for FrbWrapper<Detection> {
673 fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
674 flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0)
675 .into_dart()
676 }
677}
678impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper<Detection> {}
679
680impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<Detection>> for Detection {
681 fn into_into_dart(self) -> FrbWrapper<Detection> {
682 self.into()
683 }
684}
685
686impl flutter_rust_bridge::IntoDart for crate::api::webcam::CameraDesc {
688 fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
689 [
690 self.index.into_into_dart().into_dart(),
691 self.name.into_into_dart().into_dart(),
692 ]
693 .into_dart()
694 }
695}
696impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
697 for crate::api::webcam::CameraDesc
698{
699}
700impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::CameraDesc>
701 for crate::api::webcam::CameraDesc
702{
703 fn into_into_dart(self) -> crate::api::webcam::CameraDesc {
704 self
705 }
706}
707impl flutter_rust_bridge::IntoDart for crate::api::webcam::DetectionBox {
709 fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
710 [
711 self.x1.into_into_dart().into_dart(),
712 self.y1.into_into_dart().into_dart(),
713 self.x2.into_into_dart().into_dart(),
714 self.y2.into_into_dart().into_dart(),
715 self.score.into_into_dart().into_dart(),
716 self.class_id.into_into_dart().into_dart(),
717 ]
718 .into_dart()
719 }
720}
721impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
722 for crate::api::webcam::DetectionBox
723{
724}
725impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::DetectionBox>
726 for crate::api::webcam::DetectionBox
727{
728 fn into_into_dart(self) -> crate::api::webcam::DetectionBox {
729 self
730 }
731}
732impl flutter_rust_bridge::IntoDart for crate::api::webcam::DetectionEvent {
734 fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
735 [
736 self.detections.into_into_dart().into_dart(),
737 self.frame_sequence.into_into_dart().into_dart(),
738 self.pts_ms.into_into_dart().into_dart(),
739 self.inference_ms.into_into_dart().into_dart(),
740 self.fps.into_into_dart().into_dart(),
741 ]
742 .into_dart()
743 }
744}
745impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
746 for crate::api::webcam::DetectionEvent
747{
748}
749impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::DetectionEvent>
750 for crate::api::webcam::DetectionEvent
751{
752 fn into_into_dart(self) -> crate::api::webcam::DetectionEvent {
753 self
754 }
755}
756impl flutter_rust_bridge::IntoDart for crate::api::webcam::WebcamStreamConfig {
758 fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
759 [
760 self.use_test_source.into_into_dart().into_dart(),
761 self.device_index.into_into_dart().into_dart(),
762 self.width.into_into_dart().into_dart(),
763 self.height.into_into_dart().into_dart(),
764 self.framerate.into_into_dart().into_dart(),
765 self.model_path.into_into_dart().into_dart(),
766 self.score_threshold.into_into_dart().into_dart(),
767 self.texture_id.into_into_dart().into_dart(),
768 self.texture_library.into_into_dart().into_dart(),
769 ]
770 .into_dart()
771 }
772}
773impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
774 for crate::api::webcam::WebcamStreamConfig
775{
776}
777impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::WebcamStreamConfig>
778 for crate::api::webcam::WebcamStreamConfig
779{
780 fn into_into_dart(self) -> crate::api::webcam::WebcamStreamConfig {
781 self
782 }
783}
784
785impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error {
786 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
788 <String>::sse_encode(format!("{:?}", self), serializer);
789 }
790}
791
792impl SseEncode for Detection {
793 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
795 <RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer);
796 }
797}
798
799impl SseEncode
800 for RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>
801{
802 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
804 let (ptr, size) = self.sse_encode_raw();
805 <usize>::sse_encode(ptr, serializer);
806 <i32>::sse_encode(size, serializer);
807 }
808}
809
810impl SseEncode
811 for StreamSink<crate::api::webcam::DetectionEvent, flutter_rust_bridge::for_generated::SseCodec>
812{
813 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
815 unimplemented!("")
816 }
817}
818
819impl SseEncode for String {
820 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
822 <Vec<u8>>::sse_encode(self.into_bytes(), serializer);
823 }
824}
825
826impl SseEncode for bool {
827 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
829 serializer.cursor.write_u8(self as _).unwrap();
830 }
831}
832
833impl SseEncode for crate::api::webcam::CameraDesc {
834 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
836 <u32>::sse_encode(self.index, serializer);
837 <String>::sse_encode(self.name, serializer);
838 }
839}
840
841impl SseEncode for crate::api::webcam::DetectionBox {
842 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
844 <f32>::sse_encode(self.x1, serializer);
845 <f32>::sse_encode(self.y1, serializer);
846 <f32>::sse_encode(self.x2, serializer);
847 <f32>::sse_encode(self.y2, serializer);
848 <f32>::sse_encode(self.score, serializer);
849 <i64>::sse_encode(self.class_id, serializer);
850 }
851}
852
853impl SseEncode for crate::api::webcam::DetectionEvent {
854 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
856 <Vec<crate::api::webcam::DetectionBox>>::sse_encode(self.detections, serializer);
857 <u64>::sse_encode(self.frame_sequence, serializer);
858 <Option<u64>>::sse_encode(self.pts_ms, serializer);
859 <f64>::sse_encode(self.inference_ms, serializer);
860 <f32>::sse_encode(self.fps, serializer);
861 }
862}
863
864impl SseEncode for f32 {
865 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
867 serializer.cursor.write_f32::<NativeEndian>(self).unwrap();
868 }
869}
870
871impl SseEncode for f64 {
872 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
874 serializer.cursor.write_f64::<NativeEndian>(self).unwrap();
875 }
876}
877
878impl SseEncode for i32 {
879 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
881 serializer.cursor.write_i32::<NativeEndian>(self).unwrap();
882 }
883}
884
885impl SseEncode for i64 {
886 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
888 serializer.cursor.write_i64::<NativeEndian>(self).unwrap();
889 }
890}
891
892impl SseEncode for Vec<Detection> {
893 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
895 <i32>::sse_encode(self.len() as _, serializer);
896 for item in self {
897 <Detection>::sse_encode(item, serializer);
898 }
899 }
900}
901
902impl SseEncode for Vec<crate::api::webcam::CameraDesc> {
903 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
905 <i32>::sse_encode(self.len() as _, serializer);
906 for item in self {
907 <crate::api::webcam::CameraDesc>::sse_encode(item, serializer);
908 }
909 }
910}
911
912impl SseEncode for Vec<crate::api::webcam::DetectionBox> {
913 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
915 <i32>::sse_encode(self.len() as _, serializer);
916 for item in self {
917 <crate::api::webcam::DetectionBox>::sse_encode(item, serializer);
918 }
919 }
920}
921
922impl SseEncode for Vec<u8> {
923 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
925 <i32>::sse_encode(self.len() as _, serializer);
926 for item in self {
927 <u8>::sse_encode(item, serializer);
928 }
929 }
930}
931
932impl SseEncode for Option<String> {
933 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
935 <bool>::sse_encode(self.is_some(), serializer);
936 if let Some(value) = self {
937 <String>::sse_encode(value, serializer);
938 }
939 }
940}
941
942impl SseEncode for Option<u32> {
943 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
945 <bool>::sse_encode(self.is_some(), serializer);
946 if let Some(value) = self {
947 <u32>::sse_encode(value, serializer);
948 }
949 }
950}
951
952impl SseEncode for Option<u64> {
953 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
955 <bool>::sse_encode(self.is_some(), serializer);
956 if let Some(value) = self {
957 <u64>::sse_encode(value, serializer);
958 }
959 }
960}
961
962impl SseEncode for u32 {
963 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
965 serializer.cursor.write_u32::<NativeEndian>(self).unwrap();
966 }
967}
968
969impl SseEncode for u64 {
970 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
972 serializer.cursor.write_u64::<NativeEndian>(self).unwrap();
973 }
974}
975
976impl SseEncode for u8 {
977 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
979 serializer.cursor.write_u8(self).unwrap();
980 }
981}
982
983impl SseEncode for () {
984 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
986}
987
988impl SseEncode for usize {
989 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
991 serializer
992 .cursor
993 .write_u64::<NativeEndian>(self as _)
994 .unwrap();
995 }
996}
997
998impl SseEncode for crate::api::webcam::WebcamStreamConfig {
999 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
1001 <bool>::sse_encode(self.use_test_source, serializer);
1002 <Option<u32>>::sse_encode(self.device_index, serializer);
1003 <u32>::sse_encode(self.width, serializer);
1004 <u32>::sse_encode(self.height, serializer);
1005 <u32>::sse_encode(self.framerate, serializer);
1006 <String>::sse_encode(self.model_path, serializer);
1007 <f32>::sse_encode(self.score_threshold, serializer);
1008 <i64>::sse_encode(self.texture_id, serializer);
1009 <Option<String>>::sse_encode(self.texture_library, serializer);
1010 }
1011}
1012
1013#[cfg(not(target_family = "wasm"))]
1014mod io {
1015 use super::*;
1021 use crate::api::onnx::*;
1022 use flutter_rust_bridge::for_generated::byteorder::{
1023 NativeEndian, ReadBytesExt, WriteBytesExt,
1024 };
1025 use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
1026 use flutter_rust_bridge::{Handler, IntoIntoDart};
1027
1028 flutter_rust_bridge::frb_generated_boilerplate_io!();
1031
1032 #[unsafe(no_mangle)]
1033 pub extern "C" fn frbgen_omni_accelerant_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1034 ptr: *const std::ffi::c_void,
1035 ) {
1036 MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::increment_strong_count(ptr as _);
1037 }
1038
1039 #[unsafe(no_mangle)]
1040 pub extern "C" fn frbgen_omni_accelerant_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1041 ptr: *const std::ffi::c_void,
1042 ) {
1043 MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::decrement_strong_count(ptr as _);
1044 }
1045}
1046#[cfg(not(target_family = "wasm"))]
1047pub use io::*;
1048
1049#[cfg(target_family = "wasm")]
1051mod web {
1052 use super::*;
1058 use crate::api::onnx::*;
1059 use flutter_rust_bridge::for_generated::byteorder::{
1060 NativeEndian, ReadBytesExt, WriteBytesExt,
1061 };
1062 use flutter_rust_bridge::for_generated::wasm_bindgen;
1063 use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*;
1064 use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
1065 use flutter_rust_bridge::{Handler, IntoIntoDart};
1066
1067 flutter_rust_bridge::frb_generated_boilerplate_web!();
1070
1071 #[wasm_bindgen]
1072 pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1073 ptr: *const std::ffi::c_void,
1074 ) {
1075 MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::increment_strong_count(ptr as _);
1076 }
1077
1078 #[wasm_bindgen]
1079 pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1080 ptr: *const std::ffi::c_void,
1081 ) {
1082 MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::decrement_strong_count(ptr as _);
1083 }
1084}
1085#[cfg(target_family = "wasm")]
1086pub use web::*;