Skip to main content

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