1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
6#![allow(
7 clippy::approx_constant,
8 clippy::type_complexity,
9 clippy::unreadable_literal,
10 clippy::upper_case_acronyms
11)]
12#![cfg_attr(docsrs, feature(doc_cfg))]
13
14use gio_sys as gio;
15use glib_sys as glib;
16use gobject_sys as gobject;
17use polkit_sys as polkit;
18
19#[allow(unused_imports)]
20use libc::{
21 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
22 intptr_t, size_t, ssize_t, uintptr_t, FILE,
23};
24
25#[allow(unused_imports)]
26use glib::{gboolean, gconstpointer, gpointer, GType};
27
28pub type PolkitAgentRegisterFlags = c_uint;
30pub const POLKIT_AGENT_REGISTER_FLAGS_NONE: PolkitAgentRegisterFlags = 0;
31pub const POLKIT_AGENT_REGISTER_FLAGS_RUN_IN_THREAD: PolkitAgentRegisterFlags = 1;
32
33#[derive(Copy, Clone)]
35#[repr(C)]
36pub struct PolkitAgentListenerClass {
37 pub parent_class: gobject::GObjectClass,
38 pub initiate_authentication: Option<
39 unsafe extern "C" fn(
40 *mut PolkitAgentListener,
41 *const c_char,
42 *const c_char,
43 *const c_char,
44 *mut polkit::PolkitDetails,
45 *const c_char,
46 *mut glib::GList,
47 *mut gio::GCancellable,
48 gio::GAsyncReadyCallback,
49 gpointer,
50 ),
51 >,
52 pub initiate_authentication_finish: Option<
53 unsafe extern "C" fn(
54 *mut PolkitAgentListener,
55 *mut gio::GAsyncResult,
56 *mut *mut glib::GError,
57 ) -> gboolean,
58 >,
59 pub _polkit_reserved0: Option<unsafe extern "C" fn()>,
60 pub _polkit_reserved1: Option<unsafe extern "C" fn()>,
61 pub _polkit_reserved2: Option<unsafe extern "C" fn()>,
62 pub _polkit_reserved3: Option<unsafe extern "C" fn()>,
63 pub _polkit_reserved4: Option<unsafe extern "C" fn()>,
64 pub _polkit_reserved5: Option<unsafe extern "C" fn()>,
65 pub _polkit_reserved6: Option<unsafe extern "C" fn()>,
66 pub _polkit_reserved7: Option<unsafe extern "C" fn()>,
67}
68
69impl ::std::fmt::Debug for PolkitAgentListenerClass {
70 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
71 f.debug_struct(&format!("PolkitAgentListenerClass @ {self:p}"))
72 .field("parent_class", &self.parent_class)
73 .field("initiate_authentication", &self.initiate_authentication)
74 .field(
75 "initiate_authentication_finish",
76 &self.initiate_authentication_finish,
77 )
78 .field("_polkit_reserved0", &self._polkit_reserved0)
79 .field("_polkit_reserved1", &self._polkit_reserved1)
80 .field("_polkit_reserved2", &self._polkit_reserved2)
81 .field("_polkit_reserved3", &self._polkit_reserved3)
82 .field("_polkit_reserved4", &self._polkit_reserved4)
83 .field("_polkit_reserved5", &self._polkit_reserved5)
84 .field("_polkit_reserved6", &self._polkit_reserved6)
85 .field("_polkit_reserved7", &self._polkit_reserved7)
86 .finish()
87 }
88}
89
90#[repr(C)]
91pub struct _PolkitAgentSessionClass {
92 _data: [u8; 0],
93 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
94}
95
96pub type PolkitAgentSessionClass = _PolkitAgentSessionClass;
97
98#[derive(Copy, Clone)]
100#[repr(C)]
101pub struct PolkitAgentListener {
102 pub parent_instance: gobject::GObject,
103}
104
105impl ::std::fmt::Debug for PolkitAgentListener {
106 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
107 f.debug_struct(&format!("PolkitAgentListener @ {self:p}"))
108 .field("parent_instance", &self.parent_instance)
109 .finish()
110 }
111}
112
113#[repr(C)]
114pub struct PolkitAgentSession {
115 _data: [u8; 0],
116 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
117}
118
119impl ::std::fmt::Debug for PolkitAgentSession {
120 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
121 f.debug_struct(&format!("PolkitAgentSession @ {self:p}"))
122 .finish()
123 }
124}
125
126#[repr(C)]
127pub struct PolkitAgentTextListener {
128 _data: [u8; 0],
129 _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
130}
131
132impl ::std::fmt::Debug for PolkitAgentTextListener {
133 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
134 f.debug_struct(&format!("PolkitAgentTextListener @ {self:p}"))
135 .finish()
136 }
137}
138
139#[link(name = "polkit-agent-1")]
140extern "C" {
141
142 pub fn polkit_agent_register_flags_get_type() -> GType;
146
147 pub fn polkit_agent_listener_get_type() -> GType;
151 pub fn polkit_agent_listener_unregister(registration_handle: gpointer);
152 pub fn polkit_agent_listener_initiate_authentication(
153 listener: *mut PolkitAgentListener,
154 action_id: *const c_char,
155 message: *const c_char,
156 icon_name: *const c_char,
157 details: *mut polkit::PolkitDetails,
158 cookie: *const c_char,
159 identities: *mut glib::GList,
160 cancellable: *mut gio::GCancellable,
161 callback: gio::GAsyncReadyCallback,
162 user_data: gpointer,
163 );
164 pub fn polkit_agent_listener_initiate_authentication_finish(
165 listener: *mut PolkitAgentListener,
166 res: *mut gio::GAsyncResult,
167 error: *mut *mut glib::GError,
168 ) -> gboolean;
169 pub fn polkit_agent_listener_register(
170 listener: *mut PolkitAgentListener,
171 flags: PolkitAgentRegisterFlags,
172 subject: *mut polkit::PolkitSubject,
173 object_path: *const c_char,
174 cancellable: *mut gio::GCancellable,
175 error: *mut *mut glib::GError,
176 ) -> gpointer;
177 pub fn polkit_agent_listener_register_with_options(
178 listener: *mut PolkitAgentListener,
179 flags: PolkitAgentRegisterFlags,
180 subject: *mut polkit::PolkitSubject,
181 object_path: *const c_char,
182 options: *mut glib::GVariant,
183 cancellable: *mut gio::GCancellable,
184 error: *mut *mut glib::GError,
185 ) -> gpointer;
186
187 pub fn polkit_agent_session_get_type() -> GType;
191 pub fn polkit_agent_session_new(
192 identity: *mut polkit::PolkitIdentity,
193 cookie: *const c_char,
194 ) -> *mut PolkitAgentSession;
195 pub fn polkit_agent_session_cancel(session: *mut PolkitAgentSession);
196 pub fn polkit_agent_session_initiate(session: *mut PolkitAgentSession);
197 pub fn polkit_agent_session_response(session: *mut PolkitAgentSession, response: *const c_char);
198
199 pub fn polkit_agent_text_listener_get_type() -> GType;
203 pub fn polkit_agent_text_listener_new(
204 cancellable: *mut gio::GCancellable,
205 error: *mut *mut glib::GError,
206 ) -> *mut PolkitAgentListener;
207
208 pub fn polkit_agent_register_listener(
212 listener: *mut PolkitAgentListener,
213 subject: *mut polkit::PolkitSubject,
214 object_path: *const c_char,
215 error: *mut *mut glib::GError,
216 ) -> gboolean;
217
218}