kataglyphis_rustprojecttemplate/
frb_generated.rs

1// This file is automatically generated, so please do not edit it.
2// @generated by `flutter_rust_bridge`@ 2.12.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)]
26
27// Section: imports
28
29use crate::api::onnx::*;
30use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt};
31use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
32use flutter_rust_bridge::{Handler, IntoIntoDart};
33
34// Section: boilerplate
35
36flutter_rust_bridge::frb_generated_boilerplate!(
37    default_stream_sink_codec = SseCodec,
38    default_rust_opaque = RustOpaqueMoi,
39    default_rust_auto_opaque = RustAutoOpaqueMoi,
40);
41pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.12.0";
42pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -447940740;
43
44// Section: executor
45
46flutter_rust_bridge::frb_generated_default_handler!();
47
48// Section: wire_funcs
49
50fn wire__crate__api__simple__async_heavy_work_impl(
51    port_: flutter_rust_bridge::for_generated::MessagePort,
52    ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
53    rust_vec_len_: i32,
54    data_len_: i32,
55) {
56    FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::<flutter_rust_bridge::for_generated::SseCodec, _, _, _>(
57        flutter_rust_bridge::for_generated::TaskInfo {
58            debug_name: "async_heavy_work",
59            port: Some(port_),
60            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
61        },
62        move || {
63            let message = unsafe {
64                flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
65                    ptr_,
66                    rust_vec_len_,
67                    data_len_,
68                )
69            };
70            let mut deserializer =
71                flutter_rust_bridge::for_generated::SseDeserializer::new(message);
72            let api_input = <i32>::sse_decode(&mut deserializer);
73            deserializer.end();
74            move |context| async move {
75                transform_result_sse::<_, ()>(
76                    (move || async move {
77                        let output_ok = Result::<_, ()>::Ok(
78                            crate::api::simple::async_heavy_work(api_input).await,
79                        )?;
80                        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                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 = Result::<_, ()>::Ok(crate::api::simple::greet(api_name))?;
153                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 =
183                    Result::<_, ()>::Ok(crate::api::simple::heavy_computation(api_input))?;
184                Ok(output_ok)
185            })())
186        },
187    )
188}
189fn wire__crate__api__simple__init_app_impl(
190    port_: flutter_rust_bridge::for_generated::MessagePort,
191    ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
192    rust_vec_len_: i32,
193    data_len_: i32,
194) {
195    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::SseCodec, _, _>(
196        flutter_rust_bridge::for_generated::TaskInfo {
197            debug_name: "init_app",
198            port: Some(port_),
199            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
200        },
201        move || {
202            let message = unsafe {
203                flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
204                    ptr_,
205                    rust_vec_len_,
206                    data_len_,
207                )
208            };
209            let mut deserializer =
210                flutter_rust_bridge::for_generated::SseDeserializer::new(message);
211            deserializer.end();
212            move |context| {
213                transform_result_sse::<_, ()>((move || {
214                    let output_ok = Result::<_, ()>::Ok({
215                        crate::api::simple::init_app();
216                    })?;
217                    Ok(output_ok)
218                })())
219            }
220        },
221    )
222}
223fn wire__crate__api__webcam__list_cameras_impl(
224    ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
225    rust_vec_len_: i32,
226    data_len_: i32,
227) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
228    FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
229        flutter_rust_bridge::for_generated::TaskInfo {
230            debug_name: "list_cameras",
231            port: None,
232            mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
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            transform_result_sse::<_, String>((move || {
246                let output_ok = crate::api::webcam::list_cameras()?;
247                Ok(output_ok)
248            })())
249        },
250    )
251}
252fn wire__crate__api__webcam__start_webcam_inference_impl(
253    port_: flutter_rust_bridge::for_generated::MessagePort,
254    ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
255    rust_vec_len_: i32,
256    data_len_: i32,
257) {
258    FLUTTER_RUST_BRIDGE_HANDLER.wrap_normal::<flutter_rust_bridge::for_generated::SseCodec, _, _>(
259        flutter_rust_bridge::for_generated::TaskInfo {
260            debug_name: "start_webcam_inference",
261            port: Some(port_),
262            mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
263        },
264        move || {
265            let message = unsafe {
266                flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
267                    ptr_,
268                    rust_vec_len_,
269                    data_len_,
270                )
271            };
272            let mut deserializer =
273                flutter_rust_bridge::for_generated::SseDeserializer::new(message);
274            let api_config =
275                <crate::api::webcam::WebcamStreamConfig>::sse_decode(&mut deserializer);
276            let api_sink = <StreamSink<
277                crate::api::webcam::DetectionEvent,
278                flutter_rust_bridge::for_generated::SseCodec,
279            >>::sse_decode(&mut deserializer);
280            deserializer.end();
281            move |context| {
282                transform_result_sse::<_, String>((move || {
283                    let output_ok =
284                        crate::api::webcam::start_webcam_inference(api_config, api_sink)?;
285                    Ok(output_ok)
286                })())
287            }
288        },
289    )
290}
291fn wire__crate__api__webcam__stop_webcam_inference_impl(
292    ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
293    rust_vec_len_: i32,
294    data_len_: i32,
295) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
296    FLUTTER_RUST_BRIDGE_HANDLER.wrap_sync::<flutter_rust_bridge::for_generated::SseCodec, _>(
297        flutter_rust_bridge::for_generated::TaskInfo {
298            debug_name: "stop_webcam_inference",
299            port: None,
300            mode: flutter_rust_bridge::for_generated::FfiCallMode::Sync,
301        },
302        move || {
303            let message = unsafe {
304                flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
305                    ptr_,
306                    rust_vec_len_,
307                    data_len_,
308                )
309            };
310            let mut deserializer =
311                flutter_rust_bridge::for_generated::SseDeserializer::new(message);
312            deserializer.end();
313            transform_result_sse::<_, ()>((move || {
314                let output_ok = Result::<_, ()>::Ok({
315                    crate::api::webcam::stop_webcam_inference();
316                })?;
317                Ok(output_ok)
318            })())
319        },
320    )
321}
322
323// Section: related_funcs
324
325flutter_rust_bridge::frb_generated_moi_arc_impl_value!(
326    flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>
327);
328
329// Section: dart2rust
330
331impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error {
332    // Codec=Sse (Serialization based), see doc to use other codecs
333    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
334        let mut inner = <String>::sse_decode(deserializer);
335        return flutter_rust_bridge::for_generated::anyhow::anyhow!("{}", inner);
336    }
337}
338
339impl SseDecode for Detection {
340    // Codec=Sse (Serialization based), see doc to use other codecs
341    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
342        let mut inner = <RustOpaqueMoi<
343            flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>,
344        >>::sse_decode(deserializer);
345        return flutter_rust_bridge::for_generated::rust_auto_opaque_decode_owned(inner);
346    }
347}
348
349impl SseDecode
350    for RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>
351{
352    // Codec=Sse (Serialization based), see doc to use other codecs
353    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
354        let mut inner = <usize>::sse_decode(deserializer);
355        return decode_rust_opaque_moi(inner);
356    }
357}
358
359impl SseDecode
360    for StreamSink<crate::api::webcam::DetectionEvent, flutter_rust_bridge::for_generated::SseCodec>
361{
362    // Codec=Sse (Serialization based), see doc to use other codecs
363    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
364        let mut inner = <String>::sse_decode(deserializer);
365        return StreamSink::deserialize(inner);
366    }
367}
368
369impl SseDecode for String {
370    // Codec=Sse (Serialization based), see doc to use other codecs
371    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
372        let mut inner = <Vec<u8>>::sse_decode(deserializer);
373        return String::from_utf8(inner).unwrap();
374    }
375}
376
377impl SseDecode for bool {
378    // Codec=Sse (Serialization based), see doc to use other codecs
379    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
380        deserializer.cursor.read_u8().unwrap() != 0
381    }
382}
383
384impl SseDecode for crate::api::webcam::CameraDesc {
385    // Codec=Sse (Serialization based), see doc to use other codecs
386    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
387        let mut var_index = <u32>::sse_decode(deserializer);
388        let mut var_name = <String>::sse_decode(deserializer);
389        return crate::api::webcam::CameraDesc {
390            index: var_index,
391            name: var_name,
392        };
393    }
394}
395
396impl SseDecode for crate::api::webcam::DetectionBox {
397    // Codec=Sse (Serialization based), see doc to use other codecs
398    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
399        let mut var_x1 = <f32>::sse_decode(deserializer);
400        let mut var_y1 = <f32>::sse_decode(deserializer);
401        let mut var_x2 = <f32>::sse_decode(deserializer);
402        let mut var_y2 = <f32>::sse_decode(deserializer);
403        let mut var_score = <f32>::sse_decode(deserializer);
404        let mut var_classId = <i64>::sse_decode(deserializer);
405        return crate::api::webcam::DetectionBox {
406            x1: var_x1,
407            y1: var_y1,
408            x2: var_x2,
409            y2: var_y2,
410            score: var_score,
411            class_id: var_classId,
412        };
413    }
414}
415
416impl SseDecode for crate::api::webcam::DetectionEvent {
417    // Codec=Sse (Serialization based), see doc to use other codecs
418    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
419        let mut var_detections = <Vec<crate::api::webcam::DetectionBox>>::sse_decode(deserializer);
420        let mut var_frameSequence = <u64>::sse_decode(deserializer);
421        let mut var_ptsMs = <Option<u64>>::sse_decode(deserializer);
422        let mut var_inferenceMs = <f64>::sse_decode(deserializer);
423        let mut var_fps = <f32>::sse_decode(deserializer);
424        return crate::api::webcam::DetectionEvent {
425            detections: var_detections,
426            frame_sequence: var_frameSequence,
427            pts_ms: var_ptsMs,
428            inference_ms: var_inferenceMs,
429            fps: var_fps,
430        };
431    }
432}
433
434impl SseDecode for f32 {
435    // Codec=Sse (Serialization based), see doc to use other codecs
436    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
437        deserializer.cursor.read_f32::<NativeEndian>().unwrap()
438    }
439}
440
441impl SseDecode for f64 {
442    // Codec=Sse (Serialization based), see doc to use other codecs
443    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
444        deserializer.cursor.read_f64::<NativeEndian>().unwrap()
445    }
446}
447
448impl SseDecode for i32 {
449    // Codec=Sse (Serialization based), see doc to use other codecs
450    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
451        deserializer.cursor.read_i32::<NativeEndian>().unwrap()
452    }
453}
454
455impl SseDecode for i64 {
456    // Codec=Sse (Serialization based), see doc to use other codecs
457    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
458        deserializer.cursor.read_i64::<NativeEndian>().unwrap()
459    }
460}
461
462impl SseDecode for Vec<Detection> {
463    // Codec=Sse (Serialization based), see doc to use other codecs
464    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
465        let mut len_ = <i32>::sse_decode(deserializer);
466        let mut ans_ = Vec::with_capacity(len_ as usize);
467        for idx_ in 0..len_ {
468            ans_.push(<Detection>::sse_decode(deserializer));
469        }
470        return ans_;
471    }
472}
473
474impl SseDecode for Vec<crate::api::webcam::CameraDesc> {
475    // Codec=Sse (Serialization based), see doc to use other codecs
476    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
477        let mut len_ = <i32>::sse_decode(deserializer);
478        let mut ans_ = Vec::with_capacity(len_ as usize);
479        for idx_ in 0..len_ {
480            ans_.push(<crate::api::webcam::CameraDesc>::sse_decode(deserializer));
481        }
482        return ans_;
483    }
484}
485
486impl SseDecode for Vec<crate::api::webcam::DetectionBox> {
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        let mut len_ = <i32>::sse_decode(deserializer);
490        let mut ans_ = Vec::with_capacity(len_ as usize);
491        for idx_ in 0..len_ {
492            ans_.push(<crate::api::webcam::DetectionBox>::sse_decode(deserializer));
493        }
494        return ans_;
495    }
496}
497
498impl SseDecode for Vec<u8> {
499    // Codec=Sse (Serialization based), see doc to use other codecs
500    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
501        let mut len_ = <i32>::sse_decode(deserializer);
502        let mut ans_ = Vec::with_capacity(len_ as usize);
503        for idx_ in 0..len_ {
504            ans_.push(<u8>::sse_decode(deserializer));
505        }
506        return ans_;
507    }
508}
509
510impl SseDecode for Option<String> {
511    // Codec=Sse (Serialization based), see doc to use other codecs
512    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
513        if (<bool>::sse_decode(deserializer)) {
514            return Some(<String>::sse_decode(deserializer));
515        } else {
516            return None;
517        }
518    }
519}
520
521impl SseDecode for Option<u32> {
522    // Codec=Sse (Serialization based), see doc to use other codecs
523    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
524        if (<bool>::sse_decode(deserializer)) {
525            return Some(<u32>::sse_decode(deserializer));
526        } else {
527            return None;
528        }
529    }
530}
531
532impl SseDecode for Option<u64> {
533    // Codec=Sse (Serialization based), see doc to use other codecs
534    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
535        if (<bool>::sse_decode(deserializer)) {
536            return Some(<u64>::sse_decode(deserializer));
537        } else {
538            return None;
539        }
540    }
541}
542
543impl SseDecode for u32 {
544    // Codec=Sse (Serialization based), see doc to use other codecs
545    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
546        deserializer.cursor.read_u32::<NativeEndian>().unwrap()
547    }
548}
549
550impl SseDecode for u64 {
551    // Codec=Sse (Serialization based), see doc to use other codecs
552    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
553        deserializer.cursor.read_u64::<NativeEndian>().unwrap()
554    }
555}
556
557impl SseDecode for u8 {
558    // Codec=Sse (Serialization based), see doc to use other codecs
559    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
560        deserializer.cursor.read_u8().unwrap()
561    }
562}
563
564impl SseDecode for () {
565    // Codec=Sse (Serialization based), see doc to use other codecs
566    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {}
567}
568
569impl SseDecode for usize {
570    // Codec=Sse (Serialization based), see doc to use other codecs
571    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
572        deserializer.cursor.read_u64::<NativeEndian>().unwrap() as _
573    }
574}
575
576impl SseDecode for crate::api::webcam::WebcamStreamConfig {
577    // Codec=Sse (Serialization based), see doc to use other codecs
578    fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
579        let mut var_useTestSource = <bool>::sse_decode(deserializer);
580        let mut var_deviceIndex = <Option<u32>>::sse_decode(deserializer);
581        let mut var_width = <u32>::sse_decode(deserializer);
582        let mut var_height = <u32>::sse_decode(deserializer);
583        let mut var_framerate = <u32>::sse_decode(deserializer);
584        let mut var_modelPath = <String>::sse_decode(deserializer);
585        let mut var_scoreThreshold = <f32>::sse_decode(deserializer);
586        let mut var_textureId = <i64>::sse_decode(deserializer);
587        let mut var_textureLibrary = <Option<String>>::sse_decode(deserializer);
588        return crate::api::webcam::WebcamStreamConfig {
589            use_test_source: var_useTestSource,
590            device_index: var_deviceIndex,
591            width: var_width,
592            height: var_height,
593            framerate: var_framerate,
594            model_path: var_modelPath,
595            score_threshold: var_scoreThreshold,
596            texture_id: var_textureId,
597            texture_library: var_textureLibrary,
598        };
599    }
600}
601
602fn pde_ffi_dispatcher_primary_impl(
603    func_id: i32,
604    port: flutter_rust_bridge::for_generated::MessagePort,
605    ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
606    rust_vec_len: i32,
607    data_len: i32,
608) {
609    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
610    match func_id {
611        1 => wire__crate__api__simple__async_heavy_work_impl(port, ptr, rust_vec_len, data_len),
612        5 => wire__crate__api__simple__init_app_impl(port, ptr, rust_vec_len, data_len),
613        7 => {
614            wire__crate__api__webcam__start_webcam_inference_impl(port, ptr, rust_vec_len, data_len)
615        }
616        _ => unreachable!(),
617    }
618}
619
620fn pde_ffi_dispatcher_sync_impl(
621    func_id: i32,
622    ptr: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
623    rust_vec_len: i32,
624    data_len: i32,
625) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
626    // Codec=Pde (Serialization + dispatch), see doc to use other codecs
627    match func_id {
628        2 => wire__crate__api__onnx__detect_persons_rgba_impl(ptr, rust_vec_len, data_len),
629        3 => wire__crate__api__simple__greet_impl(ptr, rust_vec_len, data_len),
630        4 => wire__crate__api__simple__heavy_computation_impl(ptr, rust_vec_len, data_len),
631        6 => wire__crate__api__webcam__list_cameras_impl(ptr, rust_vec_len, data_len),
632        8 => wire__crate__api__webcam__stop_webcam_inference_impl(ptr, rust_vec_len, data_len),
633        _ => unreachable!(),
634    }
635}
636
637// Section: rust2dart
638
639// Codec=Dco (DartCObject based), see doc to use other codecs
640impl flutter_rust_bridge::IntoDart for FrbWrapper<Detection> {
641    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
642        flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self.0)
643            .into_dart()
644    }
645}
646impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for FrbWrapper<Detection> {}
647
648impl flutter_rust_bridge::IntoIntoDart<FrbWrapper<Detection>> for Detection {
649    fn into_into_dart(self) -> FrbWrapper<Detection> {
650        self.into()
651    }
652}
653
654// Codec=Dco (DartCObject based), see doc to use other codecs
655impl flutter_rust_bridge::IntoDart for crate::api::webcam::CameraDesc {
656    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
657        [
658            self.index.into_into_dart().into_dart(),
659            self.name.into_into_dart().into_dart(),
660        ]
661        .into_dart()
662    }
663}
664impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
665    for crate::api::webcam::CameraDesc
666{
667}
668impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::CameraDesc>
669    for crate::api::webcam::CameraDesc
670{
671    fn into_into_dart(self) -> crate::api::webcam::CameraDesc {
672        self
673    }
674}
675// Codec=Dco (DartCObject based), see doc to use other codecs
676impl flutter_rust_bridge::IntoDart for crate::api::webcam::DetectionBox {
677    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
678        [
679            self.x1.into_into_dart().into_dart(),
680            self.y1.into_into_dart().into_dart(),
681            self.x2.into_into_dart().into_dart(),
682            self.y2.into_into_dart().into_dart(),
683            self.score.into_into_dart().into_dart(),
684            self.class_id.into_into_dart().into_dart(),
685        ]
686        .into_dart()
687    }
688}
689impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
690    for crate::api::webcam::DetectionBox
691{
692}
693impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::DetectionBox>
694    for crate::api::webcam::DetectionBox
695{
696    fn into_into_dart(self) -> crate::api::webcam::DetectionBox {
697        self
698    }
699}
700// Codec=Dco (DartCObject based), see doc to use other codecs
701impl flutter_rust_bridge::IntoDart for crate::api::webcam::DetectionEvent {
702    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
703        [
704            self.detections.into_into_dart().into_dart(),
705            self.frame_sequence.into_into_dart().into_dart(),
706            self.pts_ms.into_into_dart().into_dart(),
707            self.inference_ms.into_into_dart().into_dart(),
708            self.fps.into_into_dart().into_dart(),
709        ]
710        .into_dart()
711    }
712}
713impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
714    for crate::api::webcam::DetectionEvent
715{
716}
717impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::DetectionEvent>
718    for crate::api::webcam::DetectionEvent
719{
720    fn into_into_dart(self) -> crate::api::webcam::DetectionEvent {
721        self
722    }
723}
724// Codec=Dco (DartCObject based), see doc to use other codecs
725impl flutter_rust_bridge::IntoDart for crate::api::webcam::WebcamStreamConfig {
726    fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
727        [
728            self.use_test_source.into_into_dart().into_dart(),
729            self.device_index.into_into_dart().into_dart(),
730            self.width.into_into_dart().into_dart(),
731            self.height.into_into_dart().into_dart(),
732            self.framerate.into_into_dart().into_dart(),
733            self.model_path.into_into_dart().into_dart(),
734            self.score_threshold.into_into_dart().into_dart(),
735            self.texture_id.into_into_dart().into_dart(),
736            self.texture_library.into_into_dart().into_dart(),
737        ]
738        .into_dart()
739    }
740}
741impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive
742    for crate::api::webcam::WebcamStreamConfig
743{
744}
745impl flutter_rust_bridge::IntoIntoDart<crate::api::webcam::WebcamStreamConfig>
746    for crate::api::webcam::WebcamStreamConfig
747{
748    fn into_into_dart(self) -> crate::api::webcam::WebcamStreamConfig {
749        self
750    }
751}
752
753impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error {
754    // Codec=Sse (Serialization based), see doc to use other codecs
755    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
756        <String>::sse_encode(format!("{:?}", self), serializer);
757    }
758}
759
760impl SseEncode for Detection {
761    // Codec=Sse (Serialization based), see doc to use other codecs
762    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
763        <RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>>::sse_encode(flutter_rust_bridge::for_generated::rust_auto_opaque_encode::<_, MoiArc<_>>(self), serializer);
764    }
765}
766
767impl SseEncode
768    for RustOpaqueMoi<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>
769{
770    // Codec=Sse (Serialization based), see doc to use other codecs
771    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
772        let (ptr, size) = self.sse_encode_raw();
773        <usize>::sse_encode(ptr, serializer);
774        <i32>::sse_encode(size, serializer);
775    }
776}
777
778impl SseEncode
779    for StreamSink<crate::api::webcam::DetectionEvent, flutter_rust_bridge::for_generated::SseCodec>
780{
781    // Codec=Sse (Serialization based), see doc to use other codecs
782    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
783        unimplemented!("")
784    }
785}
786
787impl SseEncode for String {
788    // Codec=Sse (Serialization based), see doc to use other codecs
789    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
790        <Vec<u8>>::sse_encode(self.into_bytes(), serializer);
791    }
792}
793
794impl SseEncode for bool {
795    // Codec=Sse (Serialization based), see doc to use other codecs
796    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
797        serializer.cursor.write_u8(self as _).unwrap();
798    }
799}
800
801impl SseEncode for crate::api::webcam::CameraDesc {
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        <u32>::sse_encode(self.index, serializer);
805        <String>::sse_encode(self.name, serializer);
806    }
807}
808
809impl SseEncode for crate::api::webcam::DetectionBox {
810    // Codec=Sse (Serialization based), see doc to use other codecs
811    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
812        <f32>::sse_encode(self.x1, serializer);
813        <f32>::sse_encode(self.y1, serializer);
814        <f32>::sse_encode(self.x2, serializer);
815        <f32>::sse_encode(self.y2, serializer);
816        <f32>::sse_encode(self.score, serializer);
817        <i64>::sse_encode(self.class_id, serializer);
818    }
819}
820
821impl SseEncode for crate::api::webcam::DetectionEvent {
822    // Codec=Sse (Serialization based), see doc to use other codecs
823    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
824        <Vec<crate::api::webcam::DetectionBox>>::sse_encode(self.detections, serializer);
825        <u64>::sse_encode(self.frame_sequence, serializer);
826        <Option<u64>>::sse_encode(self.pts_ms, serializer);
827        <f64>::sse_encode(self.inference_ms, serializer);
828        <f32>::sse_encode(self.fps, serializer);
829    }
830}
831
832impl SseEncode for f32 {
833    // Codec=Sse (Serialization based), see doc to use other codecs
834    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
835        serializer.cursor.write_f32::<NativeEndian>(self).unwrap();
836    }
837}
838
839impl SseEncode for f64 {
840    // Codec=Sse (Serialization based), see doc to use other codecs
841    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
842        serializer.cursor.write_f64::<NativeEndian>(self).unwrap();
843    }
844}
845
846impl SseEncode for i32 {
847    // Codec=Sse (Serialization based), see doc to use other codecs
848    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
849        serializer.cursor.write_i32::<NativeEndian>(self).unwrap();
850    }
851}
852
853impl SseEncode for i64 {
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        serializer.cursor.write_i64::<NativeEndian>(self).unwrap();
857    }
858}
859
860impl SseEncode for Vec<Detection> {
861    // Codec=Sse (Serialization based), see doc to use other codecs
862    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
863        <i32>::sse_encode(self.len() as _, serializer);
864        for item in self {
865            <Detection>::sse_encode(item, serializer);
866        }
867    }
868}
869
870impl SseEncode for Vec<crate::api::webcam::CameraDesc> {
871    // Codec=Sse (Serialization based), see doc to use other codecs
872    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
873        <i32>::sse_encode(self.len() as _, serializer);
874        for item in self {
875            <crate::api::webcam::CameraDesc>::sse_encode(item, serializer);
876        }
877    }
878}
879
880impl SseEncode for Vec<crate::api::webcam::DetectionBox> {
881    // Codec=Sse (Serialization based), see doc to use other codecs
882    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
883        <i32>::sse_encode(self.len() as _, serializer);
884        for item in self {
885            <crate::api::webcam::DetectionBox>::sse_encode(item, serializer);
886        }
887    }
888}
889
890impl SseEncode for Vec<u8> {
891    // Codec=Sse (Serialization based), see doc to use other codecs
892    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
893        <i32>::sse_encode(self.len() as _, serializer);
894        for item in self {
895            <u8>::sse_encode(item, serializer);
896        }
897    }
898}
899
900impl SseEncode for Option<String> {
901    // Codec=Sse (Serialization based), see doc to use other codecs
902    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
903        <bool>::sse_encode(self.is_some(), serializer);
904        if let Some(value) = self {
905            <String>::sse_encode(value, serializer);
906        }
907    }
908}
909
910impl SseEncode for Option<u32> {
911    // Codec=Sse (Serialization based), see doc to use other codecs
912    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
913        <bool>::sse_encode(self.is_some(), serializer);
914        if let Some(value) = self {
915            <u32>::sse_encode(value, serializer);
916        }
917    }
918}
919
920impl SseEncode for Option<u64> {
921    // Codec=Sse (Serialization based), see doc to use other codecs
922    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
923        <bool>::sse_encode(self.is_some(), serializer);
924        if let Some(value) = self {
925            <u64>::sse_encode(value, serializer);
926        }
927    }
928}
929
930impl SseEncode for u32 {
931    // Codec=Sse (Serialization based), see doc to use other codecs
932    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
933        serializer.cursor.write_u32::<NativeEndian>(self).unwrap();
934    }
935}
936
937impl SseEncode for u64 {
938    // Codec=Sse (Serialization based), see doc to use other codecs
939    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
940        serializer.cursor.write_u64::<NativeEndian>(self).unwrap();
941    }
942}
943
944impl SseEncode for u8 {
945    // Codec=Sse (Serialization based), see doc to use other codecs
946    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
947        serializer.cursor.write_u8(self).unwrap();
948    }
949}
950
951impl SseEncode for () {
952    // Codec=Sse (Serialization based), see doc to use other codecs
953    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
954}
955
956impl SseEncode for usize {
957    // Codec=Sse (Serialization based), see doc to use other codecs
958    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
959        serializer
960            .cursor
961            .write_u64::<NativeEndian>(self as _)
962            .unwrap();
963    }
964}
965
966impl SseEncode for crate::api::webcam::WebcamStreamConfig {
967    // Codec=Sse (Serialization based), see doc to use other codecs
968    fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
969        <bool>::sse_encode(self.use_test_source, serializer);
970        <Option<u32>>::sse_encode(self.device_index, serializer);
971        <u32>::sse_encode(self.width, serializer);
972        <u32>::sse_encode(self.height, serializer);
973        <u32>::sse_encode(self.framerate, serializer);
974        <String>::sse_encode(self.model_path, serializer);
975        <f32>::sse_encode(self.score_threshold, serializer);
976        <i64>::sse_encode(self.texture_id, serializer);
977        <Option<String>>::sse_encode(self.texture_library, serializer);
978    }
979}
980
981#[cfg(not(target_family = "wasm"))]
982mod io {
983    // This file is automatically generated, so please do not edit it.
984    // @generated by `flutter_rust_bridge`@ 2.12.0.
985
986    // Section: imports
987
988    use super::*;
989    use crate::api::onnx::*;
990    use flutter_rust_bridge::for_generated::byteorder::{
991        NativeEndian, ReadBytesExt, WriteBytesExt,
992    };
993    use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
994    use flutter_rust_bridge::{Handler, IntoIntoDart};
995
996    // Section: boilerplate
997
998    flutter_rust_bridge::frb_generated_boilerplate_io!();
999
1000    #[unsafe(no_mangle)]
1001    pub extern "C" fn frbgen_kataglyphis_inference_engine_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1002        ptr: *const std::ffi::c_void,
1003    ) {
1004        MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::increment_strong_count(ptr as _);
1005    }
1006
1007    #[unsafe(no_mangle)]
1008    pub extern "C" fn frbgen_kataglyphis_inference_engine_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1009        ptr: *const std::ffi::c_void,
1010    ) {
1011        MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::decrement_strong_count(ptr as _);
1012    }
1013}
1014#[cfg(not(target_family = "wasm"))]
1015pub use io::*;
1016
1017/// cbindgen:ignore
1018#[cfg(target_family = "wasm")]
1019mod web {
1020    // This file is automatically generated, so please do not edit it.
1021    // @generated by `flutter_rust_bridge`@ 2.12.0.
1022
1023    // Section: imports
1024
1025    use super::*;
1026    use crate::api::onnx::*;
1027    use flutter_rust_bridge::for_generated::byteorder::{
1028        NativeEndian, ReadBytesExt, WriteBytesExt,
1029    };
1030    use flutter_rust_bridge::for_generated::wasm_bindgen;
1031    use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*;
1032    use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable};
1033    use flutter_rust_bridge::{Handler, IntoIntoDart};
1034
1035    // Section: boilerplate
1036
1037    flutter_rust_bridge::frb_generated_boilerplate_web!();
1038
1039    #[wasm_bindgen]
1040    pub fn rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1041        ptr: *const std::ffi::c_void,
1042    ) {
1043        MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::increment_strong_count(ptr as _);
1044    }
1045
1046    #[wasm_bindgen]
1047    pub fn rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDetection(
1048        ptr: *const std::ffi::c_void,
1049    ) {
1050        MoiArc::<flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>>::decrement_strong_count(ptr as _);
1051    }
1052}
1053#[cfg(target_family = "wasm")]
1054pub use web::*;