gio/auto/
unix_mount_monitor.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 crate::ffi;
6use glib::{
7    object::ObjectType as _,
8    prelude::*,
9    signal::{connect_raw, SignalHandlerId},
10    translate::*,
11};
12use std::boxed::Box as Box_;
13
14glib::wrapper! {
15    #[doc(alias = "GUnixMountMonitor")]
16    pub struct UnixMountMonitor(Object<ffi::GUnixMountMonitor, ffi::GUnixMountMonitorClass>);
17
18    match fn {
19        type_ => || ffi::g_unix_mount_monitor_get_type(),
20    }
21}
22
23impl UnixMountMonitor {
24    #[doc(alias = "g_unix_mount_monitor_get")]
25    pub fn get() -> UnixMountMonitor {
26        unsafe { from_glib_full(ffi::g_unix_mount_monitor_get()) }
27    }
28
29    #[doc(alias = "mountpoints-changed")]
30    pub fn connect_mountpoints_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
31        unsafe extern "C" fn mountpoints_changed_trampoline<F: Fn(&UnixMountMonitor) + 'static>(
32            this: *mut ffi::GUnixMountMonitor,
33            f: glib::ffi::gpointer,
34        ) {
35            let f: &F = &*(f as *const F);
36            f(&from_glib_borrow(this))
37        }
38        unsafe {
39            let f: Box_<F> = Box_::new(f);
40            connect_raw(
41                self.as_ptr() as *mut _,
42                c"mountpoints-changed".as_ptr() as *const _,
43                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
44                    mountpoints_changed_trampoline::<F> as *const (),
45                )),
46                Box_::into_raw(f),
47            )
48        }
49    }
50
51    #[doc(alias = "mounts-changed")]
52    pub fn connect_mounts_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
53        unsafe extern "C" fn mounts_changed_trampoline<F: Fn(&UnixMountMonitor) + 'static>(
54            this: *mut ffi::GUnixMountMonitor,
55            f: glib::ffi::gpointer,
56        ) {
57            let f: &F = &*(f as *const F);
58            f(&from_glib_borrow(this))
59        }
60        unsafe {
61            let f: Box_<F> = Box_::new(f);
62            connect_raw(
63                self.as_ptr() as *mut _,
64                c"mounts-changed".as_ptr() as *const _,
65                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
66                    mounts_changed_trampoline::<F> as *const (),
67                )),
68                Box_::into_raw(f),
69            )
70        }
71    }
72}