Skip to main content

gstreamer_analytics/auto/
model_info.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, TensorDimOrder};
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 {}