33// DO NOT EDIT
44
55use crate :: {
6- ffi, AsyncInitable , AsyncResult , DBusConnection , DBusObjectManager ,
6+ ffi, AsyncInitable , AsyncResult , BusType , Cancellable , DBusConnection , DBusObjectManager ,
77 DBusObjectManagerClientFlags , DBusObjectProxy , DBusProxy , Initable ,
88} ;
99use glib:: {
@@ -25,6 +25,191 @@ glib::wrapper! {
2525
2626impl DBusObjectManagerClient {
2727 pub const NONE : Option < & ' static DBusObjectManagerClient > = None ;
28+
29+ #[ doc( alias = "g_dbus_object_manager_client_new_for_bus_sync" ) ]
30+ #[ doc( alias = "new_for_bus_sync" ) ]
31+ pub fn for_bus_sync (
32+ bus_type : BusType ,
33+ flags : DBusObjectManagerClientFlags ,
34+ name : & str ,
35+ object_path : & str ,
36+ get_proxy_type_func : Option <
37+ Box_ <
38+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type + ' static ,
39+ > ,
40+ > ,
41+ cancellable : Option < & impl IsA < Cancellable > > ,
42+ ) -> Result < DBusObjectManagerClient , glib:: Error > {
43+ let get_proxy_type_func_data: Box_ <
44+ Option <
45+ Box_ <
46+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
47+ + ' static ,
48+ > ,
49+ > ,
50+ > = Box_ :: new ( get_proxy_type_func) ;
51+ unsafe extern "C" fn get_proxy_type_func_func (
52+ manager : * mut ffi:: GDBusObjectManagerClient ,
53+ object_path : * const std:: ffi:: c_char ,
54+ interface_name : * const std:: ffi:: c_char ,
55+ data : glib:: ffi:: gpointer ,
56+ ) -> glib:: ffi:: GType {
57+ let manager = from_glib_borrow ( manager) ;
58+ let object_path: Borrowed < glib:: GString > = from_glib_borrow ( object_path) ;
59+ let interface_name: Borrowed < Option < glib:: GString > > = from_glib_borrow ( interface_name) ;
60+ let callback = & * ( data as * mut Option <
61+ Box_ <
62+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
63+ + ' static ,
64+ > ,
65+ > ) ;
66+ if let Some ( ref callback) = * callback {
67+ callback (
68+ & manager,
69+ object_path. as_str ( ) ,
70+ ( * interface_name) . as_ref ( ) . map ( |s| s. as_str ( ) ) ,
71+ )
72+ } else {
73+ panic ! ( "cannot get closure..." )
74+ }
75+ . into_glib ( )
76+ }
77+ let get_proxy_type_func = if get_proxy_type_func_data. is_some ( ) {
78+ Some ( get_proxy_type_func_func as _ )
79+ } else {
80+ None
81+ } ;
82+ unsafe extern "C" fn get_proxy_type_destroy_notify_func ( data : glib:: ffi:: gpointer ) {
83+ let _callback = Box_ :: from_raw (
84+ data as * mut Option <
85+ Box_ <
86+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
87+ + ' static ,
88+ > ,
89+ > ,
90+ ) ;
91+ }
92+ let destroy_call6 = Some ( get_proxy_type_destroy_notify_func as _ ) ;
93+ let super_callback0: Box_ <
94+ Option <
95+ Box_ <
96+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
97+ + ' static ,
98+ > ,
99+ > ,
100+ > = get_proxy_type_func_data;
101+ unsafe {
102+ let mut error = std:: ptr:: null_mut ( ) ;
103+ let ret = ffi:: g_dbus_object_manager_client_new_for_bus_sync (
104+ bus_type. into_glib ( ) ,
105+ flags. into_glib ( ) ,
106+ name. to_glib_none ( ) . 0 ,
107+ object_path. to_glib_none ( ) . 0 ,
108+ get_proxy_type_func,
109+ Box_ :: into_raw ( super_callback0) as * mut _ ,
110+ destroy_call6,
111+ cancellable. map ( |p| p. as_ref ( ) ) . to_glib_none ( ) . 0 ,
112+ & mut error,
113+ ) ;
114+ if error. is_null ( ) {
115+ Ok ( from_glib_full ( ret) )
116+ } else {
117+ Err ( from_glib_full ( error) )
118+ }
119+ }
120+ }
121+
122+ #[ doc( alias = "g_dbus_object_manager_client_new_sync" ) ]
123+ pub fn new_sync (
124+ connection : & DBusConnection ,
125+ flags : DBusObjectManagerClientFlags ,
126+ name : Option < & str > ,
127+ object_path : & str ,
128+ get_proxy_type_func : Option <
129+ Box_ <
130+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type + ' static ,
131+ > ,
132+ > ,
133+ cancellable : Option < & impl IsA < Cancellable > > ,
134+ ) -> Result < DBusObjectManagerClient , glib:: Error > {
135+ let get_proxy_type_func_data: Box_ <
136+ Option <
137+ Box_ <
138+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
139+ + ' static ,
140+ > ,
141+ > ,
142+ > = Box_ :: new ( get_proxy_type_func) ;
143+ unsafe extern "C" fn get_proxy_type_func_func (
144+ manager : * mut ffi:: GDBusObjectManagerClient ,
145+ object_path : * const std:: ffi:: c_char ,
146+ interface_name : * const std:: ffi:: c_char ,
147+ data : glib:: ffi:: gpointer ,
148+ ) -> glib:: ffi:: GType {
149+ let manager = from_glib_borrow ( manager) ;
150+ let object_path: Borrowed < glib:: GString > = from_glib_borrow ( object_path) ;
151+ let interface_name: Borrowed < Option < glib:: GString > > = from_glib_borrow ( interface_name) ;
152+ let callback = & * ( data as * mut Option <
153+ Box_ <
154+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
155+ + ' static ,
156+ > ,
157+ > ) ;
158+ if let Some ( ref callback) = * callback {
159+ callback (
160+ & manager,
161+ object_path. as_str ( ) ,
162+ ( * interface_name) . as_ref ( ) . map ( |s| s. as_str ( ) ) ,
163+ )
164+ } else {
165+ panic ! ( "cannot get closure..." )
166+ }
167+ . into_glib ( )
168+ }
169+ let get_proxy_type_func = if get_proxy_type_func_data. is_some ( ) {
170+ Some ( get_proxy_type_func_func as _ )
171+ } else {
172+ None
173+ } ;
174+ unsafe extern "C" fn get_proxy_type_destroy_notify_func ( data : glib:: ffi:: gpointer ) {
175+ let _callback = Box_ :: from_raw (
176+ data as * mut Option <
177+ Box_ <
178+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
179+ + ' static ,
180+ > ,
181+ > ,
182+ ) ;
183+ }
184+ let destroy_call6 = Some ( get_proxy_type_destroy_notify_func as _ ) ;
185+ let super_callback0: Box_ <
186+ Option <
187+ Box_ <
188+ dyn Fn ( & DBusObjectManagerClient , & str , Option < & str > ) -> glib:: types:: Type
189+ + ' static ,
190+ > ,
191+ > ,
192+ > = get_proxy_type_func_data;
193+ unsafe {
194+ let mut error = std:: ptr:: null_mut ( ) ;
195+ let ret = ffi:: g_dbus_object_manager_client_new_sync (
196+ connection. to_glib_none ( ) . 0 ,
197+ flags. into_glib ( ) ,
198+ name. to_glib_none ( ) . 0 ,
199+ object_path. to_glib_none ( ) . 0 ,
200+ get_proxy_type_func,
201+ Box_ :: into_raw ( super_callback0) as * mut _ ,
202+ destroy_call6,
203+ cancellable. map ( |p| p. as_ref ( ) ) . to_glib_none ( ) . 0 ,
204+ & mut error,
205+ ) ;
206+ if error. is_null ( ) {
207+ Ok ( from_glib_full ( ret) )
208+ } else {
209+ Err ( from_glib_full ( error) )
210+ }
211+ }
212+ }
28213}
29214
30215impl std:: fmt:: Display for DBusObjectManagerClient {
0 commit comments