polkit_agent_rs/auto/
functions.rs1use crate::polkit;
6use crate::{Listener, ffi};
7use glib::{prelude::*, translate::*};
8
9#[doc(alias = "polkit_agent_register_listener")]
10pub fn register_listener(
11 listener: &impl IsA<Listener>,
12 subject: &impl IsA<polkit::Subject>,
13 object_path: &str,
14) -> Result<(), glib::Error> {
15 unsafe {
16 let mut error = std::ptr::null_mut();
17 let is_ok = ffi::polkit_agent_register_listener(
18 listener.as_ref().to_glib_none().0,
19 subject.as_ref().to_glib_none().0,
20 object_path.to_glib_none().0,
21 &mut error,
22 );
23 debug_assert_eq!(is_ok == glib::ffi::GFALSE, !error.is_null());
24 if error.is_null() {
25 Ok(())
26 } else {
27 Err(from_glib_full(error))
28 }
29 }
30}