libpanel/
menu_manager.rs

1use crate::MenuManager;
2use glib::translate::*;
3use std::path::Path;
4
5impl MenuManager {
6    #[doc(alias = "panel_menu_manager_add_filename")]
7    pub fn add_filename(&self, filename: impl AsRef<Path>) -> Result<u32, glib::Error> {
8        let filename = filename.as_ref();
9        unsafe {
10            let mut error = std::ptr::null_mut();
11            let ret = ffi::panel_menu_manager_add_filename(
12                self.to_glib_none().0,
13                filename.to_glib_none().0,
14                &mut error,
15            );
16            if error.is_null() {
17                Ok(ret)
18            } else {
19                Err(from_glib_full(error))
20            }
21        }
22    }
23
24    ///
25    /// # Returns
26    ///
27    /// the merge id
28    #[cfg(any(feature = "v1_4", docsrs))]
29    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
30    #[doc(alias = "panel_menu_manager_add_resource")]
31    pub fn add_resource(&self, resource: &str) -> Result<u32, glib::Error> {
32        unsafe {
33            let mut error = std::ptr::null_mut();
34            let ret = ffi::panel_menu_manager_add_resource(
35                self.to_glib_none().0,
36                resource.to_glib_none().0,
37                &mut error,
38            );
39            if error.is_null() {
40                Ok(ret)
41            } else {
42                Err(from_glib_full(error))
43            }
44        }
45    }
46}