Skip to main content

oxidant/
frb_generated.rs

1// This file is automatically generated, so please do not edit it.
2// @generated by `flutter_rust_bridge`@ 2.13.0.
3
4#![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
28// Section: imports
29
30use 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
35// Section: boilerplate
36
37flutter_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
45// Section: executor
46
47flutter_rust_bridge::frb_generated_default_handler!();
48
49// Section: wire_funcs
50
51fn 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
354// Section: related_funcs
355
356flutter_rust_bridge::frb_generated_moi_arc_impl_value!(
357    flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>
358);
359
360// Section: dart2rust
361
362impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error {
363    // Codec=Sse (Serialization based), see doc to use other codecs
364    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    // Codec=Sse (Serialization based), see doc to use other codecs
372    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    // Codec=Sse (Serialization based), see doc to use other codecs
384    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    // Codec=Sse (Serialization based), see doc to use other codecs
394    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    // Codec=Sse (Serialization based), see doc to use other codecs
402    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    // Codec=Sse (Serialization based), see doc to use other codecs
410    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    // Codec=Sse (Serialization based), see doc to use other codecs
417    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    // Codec=Sse (Serialization based), see doc to use other codecs
429    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    // Codec=Sse (Serialization based), see doc to use other codecs
449    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    // Codec=Sse (Serialization based), see doc to use other codecs
467    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    // Codec=Sse (Serialization based), see doc to use other codecs
474    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    // Codec=Sse (Serialization based), see doc to use other codecs
481    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    // Codec=Sse (Serialization based), see doc to use other codecs
488    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    // Codec=Sse (Serialization based), see doc to use other codecs
495    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    // Codec=Sse (Serialization based), see doc to use other codecs
507    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    // Codec=Sse (Serialization based), see doc to use other codecs
519    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    // Codec=Sse (Serialization based), see doc to use other codecs
531    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    // Codec=Sse (Serialization based), see doc to use other codecs
543    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    // Codec=Sse (Serialization based), see doc to use other codecs
554    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    // Codec=Sse (Serialization based), see doc to use other codecs
565    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    // Codec=Sse (Serialization based), see doc to use other codecs
576    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    // Codec=Sse (Serialization based), see doc to use other codecs
583    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    // Codec=Sse (Serialization based), see doc to use other codecs
590    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    // Codec=Sse (Serialization based), see doc to use other codecs
597    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {}
598}
599
600impl SseDecode for usize {
601    // Codec=Sse (Serialization based), see doc to use other codecs
602    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    // Codec=Sse (Serialization based), see doc to use other codecs
609    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    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
641    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    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
659    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
669// Section: rust2dart
670
671// Codec=Dco (DartCObject based), see doc to use other codecs
672impl 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
686// Codec=Dco (DartCObject based), see doc to use other codecs
687impl 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}
707// Codec=Dco (DartCObject based), see doc to use other codecs
708impl 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}
732// Codec=Dco (DartCObject based), see doc to use other codecs
733impl 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}
756// Codec=Dco (DartCObject based), see doc to use other codecs
757impl 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    // Codec=Sse (Serialization based), see doc to use other codecs
787    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    // Codec=Sse (Serialization based), see doc to use other codecs
794    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    // Codec=Sse (Serialization based), see doc to use other codecs
803    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    // Codec=Sse (Serialization based), see doc to use other codecs
814    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
815        unimplemented!("")
816    }
817}
818
819impl SseEncode for String {
820    // Codec=Sse (Serialization based), see doc to use other codecs
821    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    // Codec=Sse (Serialization based), see doc to use other codecs
828    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    // Codec=Sse (Serialization based), see doc to use other codecs
835    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    // Codec=Sse (Serialization based), see doc to use other codecs
843    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    // Codec=Sse (Serialization based), see doc to use other codecs
855    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    // Codec=Sse (Serialization based), see doc to use other codecs
866    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    // Codec=Sse (Serialization based), see doc to use other codecs
873    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    // Codec=Sse (Serialization based), see doc to use other codecs
880    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    // Codec=Sse (Serialization based), see doc to use other codecs
887    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    // Codec=Sse (Serialization based), see doc to use other codecs
894    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    // Codec=Sse (Serialization based), see doc to use other codecs
904    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    // Codec=Sse (Serialization based), see doc to use other codecs
914    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    // Codec=Sse (Serialization based), see doc to use other codecs
924    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    // Codec=Sse (Serialization based), see doc to use other codecs
934    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    // Codec=Sse (Serialization based), see doc to use other codecs
944    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    // Codec=Sse (Serialization based), see doc to use other codecs
954    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    // Codec=Sse (Serialization based), see doc to use other codecs
964    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    // Codec=Sse (Serialization based), see doc to use other codecs
971    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    // Codec=Sse (Serialization based), see doc to use other codecs
978    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    // Codec=Sse (Serialization based), see doc to use other codecs
985    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
986}
987
988impl SseEncode for usize {
989    // Codec=Sse (Serialization based), see doc to use other codecs
990    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    // Codec=Sse (Serialization based), see doc to use other codecs
1000    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    // This file is automatically generated, so please do not edit it.
1016    // @generated by `flutter_rust_bridge`@ 2.13.0.
1017
1018    // Section: imports
1019
1020    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    // Section: boilerplate
1029
1030    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/// cbindgen:ignore
1050#[cfg(target_family = "wasm")]
1051mod web {
1052    // This file is automatically generated, so please do not edit it.
1053    // @generated by `flutter_rust_bridge`@ 2.13.0.
1054
1055    // Section: imports
1056
1057    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    // Section: boilerplate
1068
1069    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::*;