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    #[cfg(any(feature = "v1_4", docsrs))]
25    #[cfg_attr(docsrs, doc(cfg(feature = "v1_4")))]
26    #[doc(alias = "panel_menu_manager_add_resource")]
27    pub fn add_resource(&self, resource: &str) -> Result<u32, glib::Error> {
28        unsafe {
29            let mut error = std::ptr::null_mut();
30            let ret = ffi::panel_menu_manager_add_resource(
31                self.to_glib_none().0,
32                resource.to_glib_none().0,
33                &mut error,
34            );
35            if error.is_null() {
36                Ok(ret)
37            } else {
38                Err(from_glib_full(error))
39            }
40        }
41    }
42}