gstreamer_analytics/auto/
model_info.rs1use crate::{TensorDimOrder, ffi};
7use glib::translate::*;
8
9glib::wrapper! {
10 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11 pub struct ModelInfo(Boxed<ffi::GstAnalyticsModelInfo>);
12
13 match fn {
14 copy => |ptr| glib::gobject_ffi::g_boxed_copy(ffi::gst_analytics_modelinfo_get_type(), ptr as *mut _) as *mut ffi::GstAnalyticsModelInfo,
15 free => |ptr| glib::gobject_ffi::g_boxed_free(ffi::gst_analytics_modelinfo_get_type(), ptr as *mut _),
16 type_ => || ffi::gst_analytics_modelinfo_get_type(),
17 }
18}
19
20impl ModelInfo {
21 #[doc(alias = "gst_analytics_modelinfo_get_dims_order")]
22 #[doc(alias = "get_dims_order")]
23 pub fn dims_order(&self, tensor_name: &str) -> TensorDimOrder {
24 unsafe {
25 from_glib(ffi::gst_analytics_modelinfo_get_dims_order(
26 mut_override(self.to_glib_none().0),
27 tensor_name.to_glib_none().0,
28 ))
29 }
30 }
31
32 #[doc(alias = "gst_analytics_modelinfo_get_group_id")]
33 #[doc(alias = "get_group_id")]
34 pub fn group_id(&self) -> Option<glib::GString> {
35 unsafe {
36 from_glib_full(ffi::gst_analytics_modelinfo_get_group_id(mut_override(
37 self.to_glib_none().0,
38 )))
39 }
40 }
41
42 #[doc(alias = "gst_analytics_modelinfo_get_id")]
43 #[doc(alias = "get_id")]
44 pub fn id(&self, tensor_name: &str) -> Option<glib::GString> {
45 unsafe {
46 from_glib_full(ffi::gst_analytics_modelinfo_get_id(
47 mut_override(self.to_glib_none().0),
48 tensor_name.to_glib_none().0,
49 ))
50 }
51 }
52
53 #[doc(alias = "gst_analytics_modelinfo_get_quark_group_id")]
54 #[doc(alias = "get_quark_group_id")]
55 pub fn quark_group_id(&self) -> glib::Quark {
56 unsafe {
57 from_glib(ffi::gst_analytics_modelinfo_get_quark_group_id(
58 mut_override(self.to_glib_none().0),
59 ))
60 }
61 }
62
63 #[doc(alias = "gst_analytics_modelinfo_get_quark_id")]
64 #[doc(alias = "get_quark_id")]
65 pub fn quark_id(&self, tensor_name: &str) -> glib::Quark {
66 unsafe {
67 from_glib(ffi::gst_analytics_modelinfo_get_quark_id(
68 mut_override(self.to_glib_none().0),
69 tensor_name.to_glib_none().0,
70 ))
71 }
72 }
73
74 #[doc(alias = "gst_analytics_modelinfo_get_version")]
75 #[doc(alias = "get_version")]
76 pub fn version(&self) -> glib::GString {
77 unsafe {
78 from_glib_full(ffi::gst_analytics_modelinfo_get_version(mut_override(
79 self.to_glib_none().0,
80 )))
81 }
82 }
83
84 #[doc(alias = "gst_analytics_modelinfo_load")]
85 pub fn load(model_filename: impl AsRef<std::path::Path>) -> Option<ModelInfo> {
86 assert_initialized_main_thread!();
87 unsafe {
88 from_glib_full(ffi::gst_analytics_modelinfo_load(
89 model_filename.as_ref().to_glib_none().0,
90 ))
91 }
92 }
93}
94
95unsafe impl Send for ModelInfo {}
96unsafe impl Sync for ModelInfo {}