1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * gtkD is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19  
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 /*
25  * Conversion parameters:
26  * inFile  = GDBusObjectManagerClient.html
27  * outPack = gio
28  * outFile = DBusObjectManagerClient
29  * strct   = GDBusObjectManagerClient
30  * realStrct=
31  * ctorStrct=GDBusObjectManager
32  * clss    = DBusObjectManagerClient
33  * interf  = 
34  * class Code: Yes
35  * interface Code: No
36  * template for:
37  * extend  = 
38  * implements:
39  * 	- AsyncInitableIF
40  * 	- DBusObjectManagerIF
41  * 	- InitableIF
42  * prefixes:
43  * 	- g_dbus_object_manager_client_
44  * omit structs:
45  * omit prefixes:
46  * omit code:
47  * 	- g_dbus_object_manager_client_new_finish
48  * 	- g_dbus_object_manager_client_new_for_bus_finish
49  * omit signals:
50  * imports:
51  * 	- glib.Str
52  * 	- glib.ErrorG
53  * 	- glib.GException
54  * 	- gio.AsyncResultIF
55  * 	- gio.Cancellable
56  * 	- gio.DBusConnection
57  * 	- gio.AsyncInitableT
58  * 	- gio.AsyncInitableIF
59  * 	- gio.DBusObjectManagerT
60  * 	- gio.DBusObjectManagerIF
61  * 	- gio.InitableT
62  * 	- gio.InitableIF
63  * structWrap:
64  * 	- GAsyncResult* -> AsyncResultIF
65  * 	- GCancellable* -> Cancellable
66  * 	- GDBusConnection* -> DBusConnection
67  * module aliases:
68  * local aliases:
69  * overrides:
70  */
71 
72 module gio.DBusObjectManagerClient;
73 
74 public  import gtkc.giotypes;
75 
76 private import gtkc.gio;
77 private import glib.ConstructionException;
78 private import gobject.ObjectG;
79 
80 private import gobject.Signals;
81 public  import gtkc.gdktypes;
82 
83 private import glib.Str;
84 private import glib.ErrorG;
85 private import glib.GException;
86 private import gio.AsyncResultIF;
87 private import gio.Cancellable;
88 private import gio.DBusConnection;
89 private import gio.AsyncInitableT;
90 private import gio.AsyncInitableIF;
91 private import gio.DBusObjectManagerT;
92 private import gio.DBusObjectManagerIF;
93 private import gio.InitableT;
94 private import gio.InitableIF;
95 
96 
97 
98 private import gobject.ObjectG;
99 
100 /**
101  * GDBusObjectManagerClient is used to create, monitor and delete object
102  * proxies for remote objects exported by a GDBusObjectManagerServer (or any
103  * code implementing the org.freedesktop.DBus.ObjectManager
104  * interface).
105  *
106  * Once an instance of this type has been created, you can connect to
107  * the "object-added" and
108  * "object-removed" signals and inspect the
109  * GDBusObjectProxy objects returned by
110  * g_dbus_object_manager_get_objects().
111  *
112  * If the name for a GDBusObjectManagerClient is not owned by anyone at
113  * object construction time, the default behavior is to request the
114  * message bus to launch an owner for the name. This behavior can be
115  * disabled using the G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START
116  * flag. It's also worth noting that this only works if the name of
117  * interest is activatable in the first place. E.g. in some cases it
118  * is not possible to launch an owner for the requested name. In this
119  * case, GDBusObjectManagerClient object construction still succeeds but
120  * there will be no object proxies
121  * (e.g. g_dbus_object_manager_get_objects() returns the empty list) and
122  * the "name-owner" property is NULL.
123  *
124  * The owner of the requested name can come and go (for example
125  * consider a system service being restarted) – GDBusObjectManagerClient
126  * handles this case too; simply connect to the "notify"
127  * signal to watch for changes on the "name-owner"
128  * property. When the name owner vanishes, the behavior is that
129  * "name-owner" is set to NULL (this includes
130  * emission of the "notify" signal) and then
131  * "object-removed" signals are synthesized
132  * for all currently existing object proxies. Since
133  * "name-owner" is NULL when this happens, you can
134  * use this information to disambiguate a synthesized signal from a
135  * genuine signal caused by object removal on the remote
136  * GDBusObjectManager. Similarly, when a new name owner appears,
137  * "object-added" signals are synthesized
138  * while "name-owner" is still NULL. Only when all
139  * object proxies have been added, the "name-owner"
140  * is set to the new name owner (this includes emission of the
141  * "notify" signal). Furthermore, you are guaranteed that
142  * "name-owner" will alternate between a name owner
143  * (e.g. :1.42) and NULL even in the case where
144  * the name of interest is atomically replaced
145  *
146  * Ultimately, GDBusObjectManagerClient is used to obtain GDBusProxy
147  * instances. All signals (including the
148  * org.freedesktop.DBus.Properties::PropertiesChanged
149  * signal) delivered to GDBusProxy instances are guaranteed to
150  * originate from the name owner. This guarantee along with the
151  * behavior described above, means that certain race conditions
152  * including the “half the proxy is from the old owner
153  * and the other half is from the new owner” problem
154  * cannot happen.
155  *
156  * To avoid having the application connect to signals on the returned
157  * GDBusObjectProxy and GDBusProxy objects, the
158  * "interface-added",
159  * "interface-removed",
160  * "g-properties-changed" and
161  * "g-signal" signals
162  * are also emitted on the GDBusObjectManagerClient instance managing these
163  * objects. The signals emitted are
164  * "interface-added",
165  * "interface-removed",
166  * "interface-proxy-properties-changed" and
167  * "interface-proxy-signal".
168  *
169  * Note that all callbacks and signals are emitted in the
170  * thread-default main loop
171  * that the GDBusObjectManagerClient object was constructed
172  * in. Additionally, the GDBusObjectProxy and GDBusProxy objects
173  * originating from the GDBusObjectManagerClient object will be created in
174  * the same context and, consequently, will deliver signals in the
175  * same main loop.
176  */
177 public class DBusObjectManagerClient : ObjectG, AsyncInitableIF, DBusObjectManagerIF, InitableIF
178 {
179 	
180 	/** the main Gtk struct */
181 	protected GDBusObjectManagerClient* gDBusObjectManagerClient;
182 	
183 	
184 	public GDBusObjectManagerClient* getDBusObjectManagerClientStruct()
185 	{
186 		return gDBusObjectManagerClient;
187 	}
188 	
189 	
190 	/** the main Gtk struct as a void* */
191 	protected override void* getStruct()
192 	{
193 		return cast(void*)gDBusObjectManagerClient;
194 	}
195 	
196 	/**
197 	 * Sets our main struct and passes it to the parent class
198 	 */
199 	public this (GDBusObjectManagerClient* gDBusObjectManagerClient)
200 	{
201 		super(cast(GObject*)gDBusObjectManagerClient);
202 		this.gDBusObjectManagerClient = gDBusObjectManagerClient;
203 	}
204 	
205 	protected override void setStruct(GObject* obj)
206 	{
207 		super.setStruct(obj);
208 		gDBusObjectManagerClient = cast(GDBusObjectManagerClient*)obj;
209 	}
210 	
211 	// add the AsyncInitable capabilities
212 	mixin AsyncInitableT!(GDBusObjectManagerClient);
213 	
214 	// add the DBusObjectManager capabilities
215 	mixin DBusObjectManagerT!(GDBusObjectManagerClient);
216 	
217 	// add the Initable capabilities
218 	mixin InitableT!(GDBusObjectManagerClient);
219 	
220 	/**
221 	 * Finishes an operation started with g_dbus_object_manager_client_new().
222 	 * Since 2.30
223 	 * Params:
224 	 * res = A GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_object_manager_client_new().
225 	 * Throws: GException on failure.
226 	 * Throws: ConstructionException GTK+ fails to create the object.
227 	 */
228 	public this (AsyncResultIF res, bool forBus = false)
229 	{
230 		// GDBusObjectManager * g_dbus_object_manager_client_new_finish  (GAsyncResult *res,  GError **error);
231 		GError* err = null;
232 		GDBusObjectManager* p;
233 		
234 		if ( forBus )
235 		{
236 			p = g_dbus_object_manager_client_new_for_bus_finish((res is null) ? null : res.getAsyncResultTStruct(), &err);
237 		}
238 		else
239 		{
240 			p = g_dbus_object_manager_client_new_finish((res is null) ? null : res.getAsyncResultTStruct(), &err);
241 		}
242 		
243 		if (err !is null)
244 		{
245 			throw new GException( new ErrorG(err) );
246 		}
247 		
248 		if(p is null)
249 		{
250 			throw new ConstructionException("null returned by g_dbus_object_manager_client_new_finish((res is null) ? null : res.getAsyncResultTStruct(), &err)");
251 		}
252 		this(cast(GDBusObjectManagerClient*) p);
253 	}
254 	
255 	/**
256 	 */
257 	int[string] connectedSignals;
258 	
259 	void delegate(GDBusObjectProxy*, GDBusProxy*, GVariant*, GStrv, DBusObjectManagerClient)[] onInterfaceProxyPropertiesChangedListeners;
260 	/**
261 	 * Emitted when one or more D-Bus properties on proxy changes. The
262 	 * local cache has already been updated when this signal fires. Note
263 	 * that both changed_properties and invalidated_properties are
264 	 * guaranteed to never be NULL (either may be empty though).
265 	 * This signal exists purely as a convenience to avoid having to
266 	 * connect signals to all interface proxies managed by manager.
267 	 * This signal is emitted in the
268 	 * thread-default main loop
269 	 * that manager was constructed in.
270 	 * Since 2.30
271 	 */
272 	void addOnInterfaceProxyPropertiesChanged(void delegate(GDBusObjectProxy*, GDBusProxy*, GVariant*, GStrv, DBusObjectManagerClient) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
273 	{
274 		if ( !("interface-proxy-properties-changed" in connectedSignals) )
275 		{
276 			Signals.connectData(
277 			getStruct(),
278 			"interface-proxy-properties-changed",
279 			cast(GCallback)&callBackInterfaceProxyPropertiesChanged,
280 			cast(void*)this,
281 			null,
282 			connectFlags);
283 			connectedSignals["interface-proxy-properties-changed"] = 1;
284 		}
285 		onInterfaceProxyPropertiesChangedListeners ~= dlg;
286 	}
287 	extern(C) static void callBackInterfaceProxyPropertiesChanged(GDBusObjectManagerClient* managerStruct, GDBusObjectProxy* objectProxy, GDBusProxy* interfaceProxy, GVariant* changedProperties, GStrv invalidatedProperties, DBusObjectManagerClient _dBusObjectManagerClient)
288 	{
289 		foreach ( void delegate(GDBusObjectProxy*, GDBusProxy*, GVariant*, GStrv, DBusObjectManagerClient) dlg ; _dBusObjectManagerClient.onInterfaceProxyPropertiesChangedListeners )
290 		{
291 			dlg(objectProxy, interfaceProxy, changedProperties, invalidatedProperties, _dBusObjectManagerClient);
292 		}
293 	}
294 	
295 	void delegate(GDBusObjectProxy*, GDBusProxy*, string, string, GVariant*, DBusObjectManagerClient)[] onInterfaceProxySignalListeners;
296 	/**
297 	 * Emitted when a D-Bus signal is received on interface_proxy.
298 	 * This signal exists purely as a convenience to avoid having to
299 	 * connect signals to all interface proxies managed by manager.
300 	 * This signal is emitted in the
301 	 * thread-default main loop
302 	 * that manager was constructed in.
303 	 * Since 2.30
304 	 */
305 	void addOnInterfaceProxySignal(void delegate(GDBusObjectProxy*, GDBusProxy*, string, string, GVariant*, DBusObjectManagerClient) dlg, ConnectFlags connectFlags=cast(ConnectFlags)0)
306 	{
307 		if ( !("interface-proxy-signal" in connectedSignals) )
308 		{
309 			Signals.connectData(
310 			getStruct(),
311 			"interface-proxy-signal",
312 			cast(GCallback)&callBackInterfaceProxySignal,
313 			cast(void*)this,
314 			null,
315 			connectFlags);
316 			connectedSignals["interface-proxy-signal"] = 1;
317 		}
318 		onInterfaceProxySignalListeners ~= dlg;
319 	}
320 	extern(C) static void callBackInterfaceProxySignal(GDBusObjectManagerClient* managerStruct, GDBusObjectProxy* objectProxy, GDBusProxy* interfaceProxy, gchar* senderName, gchar* signalName, GVariant* parameters, DBusObjectManagerClient _dBusObjectManagerClient)
321 	{
322 		foreach ( void delegate(GDBusObjectProxy*, GDBusProxy*, string, string, GVariant*, DBusObjectManagerClient) dlg ; _dBusObjectManagerClient.onInterfaceProxySignalListeners )
323 		{
324 			dlg(objectProxy, interfaceProxy, Str.toString(senderName), Str.toString(signalName), parameters, _dBusObjectManagerClient);
325 		}
326 	}
327 	
328 	
329 	/**
330 	 * Asynchronously creates a new GDBusObjectManagerClient object.
331 	 * This is an asynchronous failable constructor. When the result is
332 	 * ready, callback will be invoked in the
333 	 * thread-default main loop
334 	 * of the thread you are calling this method from. You can
335 	 * then call g_dbus_object_manager_client_new_finish() to get the result. See
336 	 * g_dbus_object_manager_client_new_sync() for the synchronous version.
337 	 * Since 2.30
338 	 * Params:
339 	 * connection = A GDBusConnection.
340 	 * flags = Zero or more flags from the GDBusObjectManagerClientFlags enumeration.
341 	 * name = The owner of the control object (unique or well-known name).
342 	 * objectPath = The object path of the control object.
343 	 * getProxyTypeFunc = A GDBusProxyTypeFunc function or NULL to always construct GDBusProxy proxies. [allow-none]
344 	 * getProxyTypeUserData = User data to pass to get_proxy_type_func.
345 	 * getProxyTypeDestroyNotify = Free function for get_proxy_type_user_data or NULL. [allow-none]
346 	 * cancellable = A GCancellable or NULL. [allow-none]
347 	 * callback = A GAsyncReadyCallback to call when the request is satisfied.
348 	 * userData = The data to pass to callback.
349 	 */
350 	public static void newDBusObjectManagerClient(DBusConnection connection, GDBusObjectManagerClientFlags flags, string name, string objectPath, GDBusProxyTypeFunc getProxyTypeFunc, void* getProxyTypeUserData, GDestroyNotify getProxyTypeDestroyNotify, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)
351 	{
352 		// void g_dbus_object_manager_client_new (GDBusConnection *connection,  GDBusObjectManagerClientFlags flags,  const gchar *name,  const gchar *object_path,  GDBusProxyTypeFunc get_proxy_type_func,  gpointer get_proxy_type_user_data,  GDestroyNotify get_proxy_type_destroy_notify,  GCancellable *cancellable,  GAsyncReadyCallback callback,  gpointer user_data);
353 		g_dbus_object_manager_client_new((connection is null) ? null : connection.getDBusConnectionStruct(), flags, Str.toStringz(name), Str.toStringz(objectPath), getProxyTypeFunc, getProxyTypeUserData, getProxyTypeDestroyNotify, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData);
354 	}
355 	
356 	/**
357 	 * Creates a new GDBusObjectManagerClient object.
358 	 * This is a synchronous failable constructor - the calling thread is
359 	 * blocked until a reply is received. See g_dbus_object_manager_client_new()
360 	 * for the asynchronous version.
361 	 * Since 2.30
362 	 * Params:
363 	 * connection = A GDBusConnection.
364 	 * flags = Zero or more flags from the GDBusObjectManagerClientFlags enumeration.
365 	 * name = The owner of the control object (unique or well-known name), or NULL when not using a message bus connection. [allow-none]
366 	 * objectPath = The object path of the control object.
367 	 * getProxyTypeFunc = A GDBusProxyTypeFunc function or NULL to always construct GDBusProxy proxies. [allow-none]
368 	 * getProxyTypeUserData = User data to pass to get_proxy_type_func.
369 	 * getProxyTypeDestroyNotify = Free function for get_proxy_type_user_data or NULL. [allow-none]
370 	 * cancellable = A GCancellable or NULL. [allow-none]
371 	 * Throws: GException on failure.
372 	 * Throws: ConstructionException GTK+ fails to create the object.
373 	 */
374 	public this (DBusConnection connection, GDBusObjectManagerClientFlags flags, string name, string objectPath, GDBusProxyTypeFunc getProxyTypeFunc, void* getProxyTypeUserData, GDestroyNotify getProxyTypeDestroyNotify, Cancellable cancellable)
375 	{
376 		// GDBusObjectManager * g_dbus_object_manager_client_new_sync  (GDBusConnection *connection,  GDBusObjectManagerClientFlags flags,  const gchar *name,  const gchar *object_path,  GDBusProxyTypeFunc get_proxy_type_func,  gpointer get_proxy_type_user_data,  GDestroyNotify get_proxy_type_destroy_notify,  GCancellable *cancellable,  GError **error);
377 		GError* err = null;
378 		
379 		auto p = g_dbus_object_manager_client_new_sync((connection is null) ? null : connection.getDBusConnectionStruct(), flags, Str.toStringz(name), Str.toStringz(objectPath), getProxyTypeFunc, getProxyTypeUserData, getProxyTypeDestroyNotify, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err);
380 		
381 		if (err !is null)
382 		{
383 			throw new GException( new ErrorG(err) );
384 		}
385 		
386 		if(p is null)
387 		{
388 			throw new ConstructionException("null returned by g_dbus_object_manager_client_new_sync((connection is null) ? null : connection.getDBusConnectionStruct(), flags, Str.toStringz(name), Str.toStringz(objectPath), getProxyTypeFunc, getProxyTypeUserData, getProxyTypeDestroyNotify, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err)");
389 		}
390 		this(cast(GDBusObjectManagerClient*) p);
391 	}
392 	
393 	/**
394 	 * Like g_dbus_object_manager_client_new() but takes a GBusType instead of a
395 	 * GDBusConnection.
396 	 * This is an asynchronous failable constructor. When the result is
397 	 * ready, callback will be invoked in the
398 	 * thread-default main loop
399 	 * of the thread you are calling this method from. You can
400 	 * then call g_dbus_object_manager_client_new_for_bus_finish() to get the result. See
401 	 * g_dbus_object_manager_client_new_for_bus_sync() for the synchronous version.
402 	 * Since 2.30
403 	 * Params:
404 	 * busType = A GBusType.
405 	 * flags = Zero or more flags from the GDBusObjectManagerClientFlags enumeration.
406 	 * name = The owner of the control object (unique or well-known name).
407 	 * objectPath = The object path of the control object.
408 	 * getProxyTypeFunc = A GDBusProxyTypeFunc function or NULL to always construct GDBusProxy proxies. [allow-none]
409 	 * getProxyTypeUserData = User data to pass to get_proxy_type_func.
410 	 * getProxyTypeDestroyNotify = Free function for get_proxy_type_user_data or NULL. [allow-none]
411 	 * cancellable = A GCancellable or NULL. [allow-none]
412 	 * callback = A GAsyncReadyCallback to call when the request is satisfied.
413 	 * userData = The data to pass to callback.
414 	 */
415 	public static void newForBus(GBusType busType, GDBusObjectManagerClientFlags flags, string name, string objectPath, GDBusProxyTypeFunc getProxyTypeFunc, void* getProxyTypeUserData, GDestroyNotify getProxyTypeDestroyNotify, Cancellable cancellable, GAsyncReadyCallback callback, void* userData)
416 	{
417 		// void g_dbus_object_manager_client_new_for_bus  (GBusType bus_type,  GDBusObjectManagerClientFlags flags,  const gchar *name,  const gchar *object_path,  GDBusProxyTypeFunc get_proxy_type_func,  gpointer get_proxy_type_user_data,  GDestroyNotify get_proxy_type_destroy_notify,  GCancellable *cancellable,  GAsyncReadyCallback callback,  gpointer user_data);
418 		g_dbus_object_manager_client_new_for_bus(busType, flags, Str.toStringz(name), Str.toStringz(objectPath), getProxyTypeFunc, getProxyTypeUserData, getProxyTypeDestroyNotify, (cancellable is null) ? null : cancellable.getCancellableStruct(), callback, userData);
419 	}
420 	
421 	/**
422 	 * Like g_dbus_object_manager_client_new_sync() but takes a GBusType instead
423 	 * of a GDBusConnection.
424 	 * This is a synchronous failable constructor - the calling thread is
425 	 * blocked until a reply is received. See g_dbus_object_manager_client_new_for_bus()
426 	 * for the asynchronous version.
427 	 * Since 2.30
428 	 * Params:
429 	 * busType = A GBusType.
430 	 * flags = Zero or more flags from the GDBusObjectManagerClientFlags enumeration.
431 	 * name = The owner of the control object (unique or well-known name).
432 	 * objectPath = The object path of the control object.
433 	 * getProxyTypeFunc = A GDBusProxyTypeFunc function or NULL to always construct GDBusProxy proxies. [allow-none]
434 	 * getProxyTypeUserData = User data to pass to get_proxy_type_func.
435 	 * getProxyTypeDestroyNotify = Free function for get_proxy_type_user_data or NULL. [allow-none]
436 	 * cancellable = A GCancellable or NULL. [allow-none]
437 	 * Throws: GException on failure.
438 	 * Throws: ConstructionException GTK+ fails to create the object.
439 	 */
440 	public this (GBusType busType, GDBusObjectManagerClientFlags flags, string name, string objectPath, GDBusProxyTypeFunc getProxyTypeFunc, void* getProxyTypeUserData, GDestroyNotify getProxyTypeDestroyNotify, Cancellable cancellable)
441 	{
442 		// GDBusObjectManager * g_dbus_object_manager_client_new_for_bus_sync  (GBusType bus_type,  GDBusObjectManagerClientFlags flags,  const gchar *name,  const gchar *object_path,  GDBusProxyTypeFunc get_proxy_type_func,  gpointer get_proxy_type_user_data,  GDestroyNotify get_proxy_type_destroy_notify,  GCancellable *cancellable,  GError **error);
443 		GError* err = null;
444 		
445 		auto p = g_dbus_object_manager_client_new_for_bus_sync(busType, flags, Str.toStringz(name), Str.toStringz(objectPath), getProxyTypeFunc, getProxyTypeUserData, getProxyTypeDestroyNotify, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err);
446 		
447 		if (err !is null)
448 		{
449 			throw new GException( new ErrorG(err) );
450 		}
451 		
452 		if(p is null)
453 		{
454 			throw new ConstructionException("null returned by g_dbus_object_manager_client_new_for_bus_sync(busType, flags, Str.toStringz(name), Str.toStringz(objectPath), getProxyTypeFunc, getProxyTypeUserData, getProxyTypeDestroyNotify, (cancellable is null) ? null : cancellable.getCancellableStruct(), &err)");
455 		}
456 		this(cast(GDBusObjectManagerClient*) p);
457 	}
458 	
459 	/**
460 	 * Gets the GDBusConnection used by manager.
461 	 * Since 2.30
462 	 * Returns: A GDBusConnection object. Do not free, the object belongs to manager. [transfer none]
463 	 */
464 	public DBusConnection getConnection()
465 	{
466 		// GDBusConnection * g_dbus_object_manager_client_get_connection  (GDBusObjectManagerClient *manager);
467 		auto p = g_dbus_object_manager_client_get_connection(gDBusObjectManagerClient);
468 		
469 		if(p is null)
470 		{
471 			return null;
472 		}
473 		
474 		return ObjectG.getDObject!(DBusConnection)(cast(GDBusConnection*) p);
475 	}
476 	
477 	/**
478 	 * Gets the flags that manager was constructed with.
479 	 * Since 2.30
480 	 * Returns: Zero of more flags from the GDBusObjectManagerClientFlags enumeration.
481 	 */
482 	public GDBusObjectManagerClientFlags getFlags()
483 	{
484 		// GDBusObjectManagerClientFlags g_dbus_object_manager_client_get_flags  (GDBusObjectManagerClient *manager);
485 		return g_dbus_object_manager_client_get_flags(gDBusObjectManagerClient);
486 	}
487 	
488 	/**
489 	 * Gets the name that manager is for, or NULL if not a message bus
490 	 * connection.
491 	 * Since 2.30
492 	 * Returns: A unique or well-known name. Do not free, the string belongs to manager.
493 	 */
494 	public string getName()
495 	{
496 		// const gchar * g_dbus_object_manager_client_get_name  (GDBusObjectManagerClient *manager);
497 		return Str.toString(g_dbus_object_manager_client_get_name(gDBusObjectManagerClient));
498 	}
499 	
500 	/**
501 	 * The unique name that owns the name that manager is for or NULL if
502 	 * no-one currently owns that name. You can connect to the
503 	 * "notify" signal to track changes to the
504 	 * "name-owner" property.
505 	 * Since 2.30
506 	 * Returns: The name owner or NULL if no name owner exists. Free with g_free().
507 	 */
508 	public string getNameOwner()
509 	{
510 		// gchar * g_dbus_object_manager_client_get_name_owner  (GDBusObjectManagerClient *manager);
511 		return Str.toString(g_dbus_object_manager_client_get_name_owner(gDBusObjectManagerClient));
512 	}
513 }