gio/auto/
file_attribute_matcher.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// DO NOT EDIT
4
5use gio_sys;
6use glib::translate::*;
7use glib::GString;
8use std::fmt;
9
10glib_wrapper! {
11    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
12    pub struct FileAttributeMatcher(Shared<gio_sys::GFileAttributeMatcher>);
13
14    match fn {
15        ref => |ptr| gio_sys::g_file_attribute_matcher_ref(ptr),
16        unref => |ptr| gio_sys::g_file_attribute_matcher_unref(ptr),
17        get_type => || gio_sys::g_file_attribute_matcher_get_type(),
18    }
19}
20
21impl FileAttributeMatcher {
22    pub fn new(attributes: &str) -> FileAttributeMatcher {
23        unsafe {
24            from_glib_full(gio_sys::g_file_attribute_matcher_new(
25                attributes.to_glib_none().0,
26            ))
27        }
28    }
29
30    pub fn enumerate_namespace(&self, ns: &str) -> bool {
31        unsafe {
32            from_glib(gio_sys::g_file_attribute_matcher_enumerate_namespace(
33                self.to_glib_none().0,
34                ns.to_glib_none().0,
35            ))
36        }
37    }
38
39    pub fn matches(&self, attribute: &str) -> bool {
40        unsafe {
41            from_glib(gio_sys::g_file_attribute_matcher_matches(
42                self.to_glib_none().0,
43                attribute.to_glib_none().0,
44            ))
45        }
46    }
47
48    pub fn matches_only(&self, attribute: &str) -> bool {
49        unsafe {
50            from_glib(gio_sys::g_file_attribute_matcher_matches_only(
51                self.to_glib_none().0,
52                attribute.to_glib_none().0,
53            ))
54        }
55    }
56
57    pub fn subtract(
58        &self,
59        subtract: Option<&FileAttributeMatcher>,
60    ) -> Option<FileAttributeMatcher> {
61        unsafe {
62            from_glib_full(gio_sys::g_file_attribute_matcher_subtract(
63                self.to_glib_none().0,
64                subtract.to_glib_none().0,
65            ))
66        }
67    }
68
69    fn to_string(&self) -> GString {
70        unsafe {
71            from_glib_full(gio_sys::g_file_attribute_matcher_to_string(
72                self.to_glib_none().0,
73            ))
74        }
75    }
76}
77
78impl fmt::Display for FileAttributeMatcher {
79    #[inline]
80    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
81        write!(f, "{}", self.to_string())
82    }
83}