gio/auto/
file_attribute_info_list.rs1use crate::{ffi, FileAttributeInfoFlags, FileAttributeType};
6use glib::translate::*;
7
8glib::wrapper! {
9 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
10 pub struct FileAttributeInfoList(Shared<ffi::GFileAttributeInfoList>);
11
12 match fn {
13 ref => |ptr| ffi::g_file_attribute_info_list_ref(ptr),
14 unref => |ptr| ffi::g_file_attribute_info_list_unref(ptr),
15 type_ => || ffi::g_file_attribute_info_list_get_type(),
16 }
17}
18
19impl FileAttributeInfoList {
20 #[doc(alias = "g_file_attribute_info_list_new")]
21 pub fn new() -> FileAttributeInfoList {
22 unsafe { from_glib_full(ffi::g_file_attribute_info_list_new()) }
23 }
24
25 #[doc(alias = "g_file_attribute_info_list_add")]
26 pub fn add(&self, name: &str, type_: FileAttributeType, flags: FileAttributeInfoFlags) {
27 unsafe {
28 ffi::g_file_attribute_info_list_add(
29 self.to_glib_none().0,
30 name.to_glib_none().0,
31 type_.into_glib(),
32 flags.into_glib(),
33 );
34 }
35 }
36
37 #[doc(alias = "g_file_attribute_info_list_dup")]
38 #[must_use]
39 pub fn dup(&self) -> FileAttributeInfoList {
40 unsafe { from_glib_full(ffi::g_file_attribute_info_list_dup(self.to_glib_none().0)) }
41 }
42}
43
44impl Default for FileAttributeInfoList {
45 fn default() -> Self {
46 Self::new()
47 }
48}