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)]
26
27use 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
34flutter_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
44flutter_rust_bridge::frb_generated_default_handler!();
47
48fn 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
323flutter_rust_bridge::frb_generated_moi_arc_impl_value!(
326 flutter_rust_bridge::for_generated::RustAutoOpaqueInner<Detection>
327);
328
329impl SseDecode for flutter_rust_bridge::for_generated::anyhow::Error {
332 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {}
567}
568
569impl SseDecode for usize {
570 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 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 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 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
637impl 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
654impl 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}
675impl 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}
700impl 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}
724impl 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 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 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 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 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
783 unimplemented!("")
784 }
785}
786
787impl SseEncode for String {
788 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {}
954}
955
956impl SseEncode for usize {
957 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 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 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 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#[cfg(target_family = "wasm")]
1019mod web {
1020 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 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::*;