libappstream/auto/
release_list.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git)
4// DO NOT EDIT
5
6use crate::{ffi, Context, Release};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "AsReleaseList")]
11    pub struct ReleaseList(Object<ffi::AsReleaseList, ffi::AsReleaseListClass>);
12
13    match fn {
14        type_ => || ffi::as_release_list_get_type(),
15    }
16}
17
18impl ReleaseList {
19    pub const NONE: Option<&'static ReleaseList> = None;
20
21    #[doc(alias = "as_release_list_new")]
22    pub fn new() -> ReleaseList {
23        assert_initialized_main_thread!();
24        unsafe { from_glib_full(ffi::as_release_list_new()) }
25    }
26}
27
28impl Default for ReleaseList {
29    fn default() -> Self {
30        Self::new()
31    }
32}
33
34pub trait ReleaseListExt: IsA<ReleaseList> + 'static {
35    #[doc(alias = "as_release_list_add")]
36    fn add(&self, release: &impl IsA<Release>) {
37        unsafe {
38            ffi::as_release_list_add(
39                self.as_ref().to_glib_none().0,
40                release.as_ref().to_glib_none().0,
41            );
42        }
43    }
44
45    #[doc(alias = "as_release_list_clear")]
46    fn clear(&self) {
47        unsafe {
48            ffi::as_release_list_clear(self.as_ref().to_glib_none().0);
49        }
50    }
51
52    #[doc(alias = "as_release_list_get_context")]
53    #[doc(alias = "get_context")]
54    fn context(&self) -> Option<Context> {
55        unsafe {
56            from_glib_none(ffi::as_release_list_get_context(
57                self.as_ref().to_glib_none().0,
58            ))
59        }
60    }
61
62    #[doc(alias = "as_release_list_get_entries")]
63    #[doc(alias = "get_entries")]
64    fn entries(&self) -> Vec<Release> {
65        unsafe {
66            FromGlibPtrContainer::from_glib_none(ffi::as_release_list_get_entries(
67                self.as_ref().to_glib_none().0,
68            ))
69        }
70    }
71
72    //#[doc(alias = "as_release_list_get_kind")]
73    //#[doc(alias = "get_kind")]
74    //fn kind(&self) -> /*Ignored*/ReleaseListKind {
75    //    unsafe { TODO: call ffi:as_release_list_get_kind() }
76    //}
77
78    #[doc(alias = "as_release_list_get_size")]
79    #[doc(alias = "get_size")]
80    fn size(&self) -> u32 {
81        unsafe { ffi::as_release_list_get_size(self.as_ref().to_glib_none().0) }
82    }
83
84    #[doc(alias = "as_release_list_get_url")]
85    #[doc(alias = "get_url")]
86    fn url(&self) -> Option<glib::GString> {
87        unsafe { from_glib_none(ffi::as_release_list_get_url(self.as_ref().to_glib_none().0)) }
88    }
89
90    #[doc(alias = "as_release_list_index_safe")]
91    fn index_safe(&self, index: u32) -> Option<Release> {
92        unsafe {
93            from_glib_none(ffi::as_release_list_index_safe(
94                self.as_ref().to_glib_none().0,
95                index,
96            ))
97        }
98    }
99
100    #[doc(alias = "as_release_list_is_empty")]
101    fn is_empty(&self) -> bool {
102        unsafe {
103            from_glib(ffi::as_release_list_is_empty(
104                self.as_ref().to_glib_none().0,
105            ))
106        }
107    }
108
109    #[doc(alias = "as_release_list_load_from_bytes")]
110    fn load_from_bytes(
111        &self,
112        context: Option<&impl IsA<Context>>,
113        bytes: &glib::Bytes,
114    ) -> Result<(), glib::Error> {
115        unsafe {
116            let mut error = std::ptr::null_mut();
117            let is_ok = ffi::as_release_list_load_from_bytes(
118                self.as_ref().to_glib_none().0,
119                context.map(|p| p.as_ref()).to_glib_none().0,
120                bytes.to_glib_none().0,
121                &mut error,
122            );
123            debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
124            if error.is_null() {
125                Ok(())
126            } else {
127                Err(from_glib_full(error))
128            }
129        }
130    }
131
132    #[doc(alias = "as_release_list_set_context")]
133    fn set_context(&self, context: &impl IsA<Context>) {
134        unsafe {
135            ffi::as_release_list_set_context(
136                self.as_ref().to_glib_none().0,
137                context.as_ref().to_glib_none().0,
138            );
139        }
140    }
141
142    //#[doc(alias = "as_release_list_set_kind")]
143    //fn set_kind(&self, kind: /*Ignored*/ReleaseListKind) {
144    //    unsafe { TODO: call ffi:as_release_list_set_kind() }
145    //}
146
147    #[doc(alias = "as_release_list_set_size")]
148    fn set_size(&self, size: u32) {
149        unsafe {
150            ffi::as_release_list_set_size(self.as_ref().to_glib_none().0, size);
151        }
152    }
153
154    #[doc(alias = "as_release_list_set_url")]
155    fn set_url(&self, url: &str) {
156        unsafe {
157            ffi::as_release_list_set_url(self.as_ref().to_glib_none().0, url.to_glib_none().0);
158        }
159    }
160
161    #[doc(alias = "as_release_list_sort")]
162    fn sort(&self) {
163        unsafe {
164            ffi::as_release_list_sort(self.as_ref().to_glib_none().0);
165        }
166    }
167}
168
169impl<O: IsA<ReleaseList>> ReleaseListExt for O {}