2 * Generated by gdbus-codegen 2.50.3. DO NOT EDIT.
4 * The license of this code is the same as for the source it was derived from.
11 #include "ofono_manager_interface.h"
15 # include <gio/gunixfdlist.h>
20 GDBusArgInfo parent_struct;
21 gboolean use_gvariant;
22 } _ExtendedGDBusArgInfo;
26 GDBusMethodInfo parent_struct;
27 const gchar *signal_name;
29 } _ExtendedGDBusMethodInfo;
33 GDBusSignalInfo parent_struct;
34 const gchar *signal_name;
35 } _ExtendedGDBusSignalInfo;
39 GDBusPropertyInfo parent_struct;
40 const gchar *hyphen_name;
41 gboolean use_gvariant;
42 } _ExtendedGDBusPropertyInfo;
46 GDBusInterfaceInfo parent_struct;
47 const gchar *hyphen_name;
48 } _ExtendedGDBusInterfaceInfo;
52 const _ExtendedGDBusPropertyInfo *info;
54 GValue orig_value; /* the value before the change */
58 _changed_property_free (ChangedProperty *data)
60 g_value_unset (&data->orig_value);
65 _g_strv_equal0 (gchar **a, gchar **b)
69 if (a == NULL && b == NULL)
74 if (a == NULL || b == NULL)
76 if (g_strv_length (a) != g_strv_length (b))
78 for (n = 0; a[n] != NULL; n++)
79 if (g_strcmp0 (a[n], b[n]) != 0)
87 _g_variant_equal0 (GVariant *a, GVariant *b)
90 if (a == NULL && b == NULL)
95 if (a == NULL || b == NULL)
97 ret = g_variant_equal (a, b);
102 G_GNUC_UNUSED static gboolean
103 _g_value_equal (const GValue *a, const GValue *b)
105 gboolean ret = FALSE;
106 g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
107 switch (G_VALUE_TYPE (a))
110 ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
113 ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
116 ret = (g_value_get_int (a) == g_value_get_int (b));
119 ret = (g_value_get_uint (a) == g_value_get_uint (b));
122 ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
125 ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
129 /* Avoid -Wfloat-equal warnings by doing a direct bit compare */
130 gdouble da = g_value_get_double (a);
131 gdouble db = g_value_get_double (b);
132 ret = memcmp (&da, &db, sizeof (gdouble)) == 0;
136 ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
139 ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
142 if (G_VALUE_TYPE (a) == G_TYPE_STRV)
143 ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
145 g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
151 /* ------------------------------------------------------------------------
152 * Code for interface org.ofono.Manager
153 * ------------------------------------------------------------------------
157 * SECTION:OrgOfonoManager
158 * @title: OrgOfonoManager
159 * @short_description: Generated C code for the org.ofono.Manager D-Bus interface
161 * This section contains code for working with the <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link> D-Bus interface in C.
164 /* ---- Introspection data for org.ofono.Manager ---- */
166 static const _ExtendedGDBusArgInfo _org_ofono_manager_method_info_get_modems_OUT_ARG_unnamed_arg0 =
170 (gchar *) "unnamed_arg0",
171 (gchar *) "a(oa{sv})",
177 static const _ExtendedGDBusArgInfo * const _org_ofono_manager_method_info_get_modems_OUT_ARG_pointers[] =
179 &_org_ofono_manager_method_info_get_modems_OUT_ARG_unnamed_arg0,
183 static const _ExtendedGDBusMethodInfo _org_ofono_manager_method_info_get_modems =
187 (gchar *) "GetModems",
189 (GDBusArgInfo **) &_org_ofono_manager_method_info_get_modems_OUT_ARG_pointers,
196 static const _ExtendedGDBusMethodInfo * const _org_ofono_manager_method_info_pointers[] =
198 &_org_ofono_manager_method_info_get_modems,
202 static const _ExtendedGDBusArgInfo _org_ofono_manager_signal_info_modem_added_ARG_unnamed_arg0 =
206 (gchar *) "unnamed_arg0",
213 static const _ExtendedGDBusArgInfo _org_ofono_manager_signal_info_modem_added_ARG_unnamed_arg1 =
217 (gchar *) "unnamed_arg1",
224 static const _ExtendedGDBusArgInfo * const _org_ofono_manager_signal_info_modem_added_ARG_pointers[] =
226 &_org_ofono_manager_signal_info_modem_added_ARG_unnamed_arg0,
227 &_org_ofono_manager_signal_info_modem_added_ARG_unnamed_arg1,
231 static const _ExtendedGDBusSignalInfo _org_ofono_manager_signal_info_modem_added =
235 (gchar *) "ModemAdded",
236 (GDBusArgInfo **) &_org_ofono_manager_signal_info_modem_added_ARG_pointers,
242 static const _ExtendedGDBusArgInfo _org_ofono_manager_signal_info_modem_removed_ARG_unnamed_arg0 =
246 (gchar *) "unnamed_arg0",
253 static const _ExtendedGDBusArgInfo * const _org_ofono_manager_signal_info_modem_removed_ARG_pointers[] =
255 &_org_ofono_manager_signal_info_modem_removed_ARG_unnamed_arg0,
259 static const _ExtendedGDBusSignalInfo _org_ofono_manager_signal_info_modem_removed =
263 (gchar *) "ModemRemoved",
264 (GDBusArgInfo **) &_org_ofono_manager_signal_info_modem_removed_ARG_pointers,
270 static const _ExtendedGDBusSignalInfo * const _org_ofono_manager_signal_info_pointers[] =
272 &_org_ofono_manager_signal_info_modem_added,
273 &_org_ofono_manager_signal_info_modem_removed,
277 static const _ExtendedGDBusInterfaceInfo _org_ofono_manager_interface_info =
281 (gchar *) "org.ofono.Manager",
282 (GDBusMethodInfo **) &_org_ofono_manager_method_info_pointers,
283 (GDBusSignalInfo **) &_org_ofono_manager_signal_info_pointers,
292 * org_ofono_manager_interface_info:
294 * Gets a machine-readable description of the <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link> D-Bus interface.
296 * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
299 org_ofono_manager_interface_info (void)
301 return (GDBusInterfaceInfo *) &_org_ofono_manager_interface_info.parent_struct;
305 * org_ofono_manager_override_properties:
306 * @klass: The class structure for a #GObject<!-- -->-derived class.
307 * @property_id_begin: The property id to assign to the first overridden property.
309 * Overrides all #GObject properties in the #OrgOfonoManager interface for a concrete class.
310 * The properties are overridden in the order they are defined.
312 * Returns: The last property id.
315 org_ofono_manager_override_properties (GObjectClass *klass, guint property_id_begin)
317 return property_id_begin - 1;
325 * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link>.
329 * OrgOfonoManagerIface:
330 * @parent_iface: The parent interface.
331 * @handle_get_modems: Handler for the #OrgOfonoManager::handle-get-modems signal.
332 * @modem_added: Handler for the #OrgOfonoManager::modem-added signal.
333 * @modem_removed: Handler for the #OrgOfonoManager::modem-removed signal.
335 * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link>.
338 typedef OrgOfonoManagerIface OrgOfonoManagerInterface;
339 G_DEFINE_INTERFACE (OrgOfonoManager, org_ofono_manager, G_TYPE_OBJECT);
342 org_ofono_manager_default_init (OrgOfonoManagerIface *iface)
344 /* GObject signals for incoming D-Bus method calls: */
346 * OrgOfonoManager::handle-get-modems:
347 * @object: A #OrgOfonoManager.
348 * @invocation: A #GDBusMethodInvocation.
350 * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-ofono-Manager.GetModems">GetModems()</link> D-Bus method.
352 * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call org_ofono_manager_complete_get_modems() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
354 * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
356 g_signal_new ("handle-get-modems",
357 G_TYPE_FROM_INTERFACE (iface),
359 G_STRUCT_OFFSET (OrgOfonoManagerIface, handle_get_modems),
360 g_signal_accumulator_true_handled,
362 g_cclosure_marshal_generic,
365 G_TYPE_DBUS_METHOD_INVOCATION);
367 /* GObject signals for received D-Bus signals: */
369 * OrgOfonoManager::modem-added:
370 * @object: A #OrgOfonoManager.
371 * @arg_unnamed_arg0: Argument.
372 * @arg_unnamed_arg1: Argument.
374 * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-ofono-Manager.ModemAdded">"ModemAdded"</link> is received.
376 * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
378 g_signal_new ("modem-added",
379 G_TYPE_FROM_INTERFACE (iface),
381 G_STRUCT_OFFSET (OrgOfonoManagerIface, modem_added),
384 g_cclosure_marshal_generic,
386 2, G_TYPE_STRING, G_TYPE_VARIANT);
389 * OrgOfonoManager::modem-removed:
390 * @object: A #OrgOfonoManager.
391 * @arg_unnamed_arg0: Argument.
393 * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-ofono-Manager.ModemRemoved">"ModemRemoved"</link> is received.
395 * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.
397 g_signal_new ("modem-removed",
398 G_TYPE_FROM_INTERFACE (iface),
400 G_STRUCT_OFFSET (OrgOfonoManagerIface, modem_removed),
403 g_cclosure_marshal_generic,
410 * org_ofono_manager_emit_modem_added:
411 * @object: A #OrgOfonoManager.
412 * @arg_unnamed_arg0: Argument to pass with the signal.
413 * @arg_unnamed_arg1: Argument to pass with the signal.
415 * Emits the <link linkend="gdbus-signal-org-ofono-Manager.ModemAdded">"ModemAdded"</link> D-Bus signal.
418 org_ofono_manager_emit_modem_added (
419 OrgOfonoManager *object,
420 const gchar *arg_unnamed_arg0,
421 GVariant *arg_unnamed_arg1)
423 g_signal_emit_by_name (object, "modem-added", arg_unnamed_arg0, arg_unnamed_arg1);
427 * org_ofono_manager_emit_modem_removed:
428 * @object: A #OrgOfonoManager.
429 * @arg_unnamed_arg0: Argument to pass with the signal.
431 * Emits the <link linkend="gdbus-signal-org-ofono-Manager.ModemRemoved">"ModemRemoved"</link> D-Bus signal.
434 org_ofono_manager_emit_modem_removed (
435 OrgOfonoManager *object,
436 const gchar *arg_unnamed_arg0)
438 g_signal_emit_by_name (object, "modem-removed", arg_unnamed_arg0);
442 * org_ofono_manager_call_get_modems:
443 * @proxy: A #OrgOfonoManagerProxy.
444 * @cancellable: (allow-none): A #GCancellable or %NULL.
445 * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
446 * @user_data: User data to pass to @callback.
448 * Asynchronously invokes the <link linkend="gdbus-method-org-ofono-Manager.GetModems">GetModems()</link> D-Bus method on @proxy.
449 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
450 * You can then call org_ofono_manager_call_get_modems_finish() to get the result of the operation.
452 * See org_ofono_manager_call_get_modems_sync() for the synchronous, blocking version of this method.
455 org_ofono_manager_call_get_modems (
456 OrgOfonoManager *proxy,
457 GCancellable *cancellable,
458 GAsyncReadyCallback callback,
461 g_dbus_proxy_call (G_DBUS_PROXY (proxy),
463 g_variant_new ("()"),
464 G_DBUS_CALL_FLAGS_NONE,
472 * org_ofono_manager_call_get_modems_finish:
473 * @proxy: A #OrgOfonoManagerProxy.
474 * @out_unnamed_arg0: (out): Return location for return parameter or %NULL to ignore.
475 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to org_ofono_manager_call_get_modems().
476 * @error: Return location for error or %NULL.
478 * Finishes an operation started with org_ofono_manager_call_get_modems().
480 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
483 org_ofono_manager_call_get_modems_finish (
484 OrgOfonoManager *proxy,
485 GVariant **out_unnamed_arg0,
490 _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
496 g_variant_unref (_ret);
502 * org_ofono_manager_call_get_modems_sync:
503 * @proxy: A #OrgOfonoManagerProxy.
504 * @out_unnamed_arg0: (out): Return location for return parameter or %NULL to ignore.
505 * @cancellable: (allow-none): A #GCancellable or %NULL.
506 * @error: Return location for error or %NULL.
508 * Synchronously invokes the <link linkend="gdbus-method-org-ofono-Manager.GetModems">GetModems()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
510 * See org_ofono_manager_call_get_modems() for the asynchronous version of this method.
512 * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
515 org_ofono_manager_call_get_modems_sync (
516 OrgOfonoManager *proxy,
517 GVariant **out_unnamed_arg0,
518 GCancellable *cancellable,
522 _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
524 g_variant_new ("()"),
525 G_DBUS_CALL_FLAGS_NONE,
534 g_variant_unref (_ret);
540 * org_ofono_manager_complete_get_modems:
541 * @object: A #OrgOfonoManager.
542 * @invocation: (transfer full): A #GDBusMethodInvocation.
543 * @unnamed_arg0: Parameter to return.
545 * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-ofono-Manager.GetModems">GetModems()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
547 * This method will free @invocation, you cannot use it afterwards.
550 org_ofono_manager_complete_get_modems (
551 OrgOfonoManager *object,
552 GDBusMethodInvocation *invocation,
553 GVariant *unnamed_arg0)
555 g_dbus_method_invocation_return_value (invocation,
556 g_variant_new ("(@a(oa{sv}))",
560 /* ------------------------------------------------------------------------ */
563 * OrgOfonoManagerProxy:
565 * The #OrgOfonoManagerProxy structure contains only private data and should only be accessed using the provided API.
569 * OrgOfonoManagerProxyClass:
570 * @parent_class: The parent class.
572 * Class structure for #OrgOfonoManagerProxy.
575 struct _OrgOfonoManagerProxyPrivate
580 static void org_ofono_manager_proxy_iface_init (OrgOfonoManagerIface *iface);
582 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
583 G_DEFINE_TYPE_WITH_CODE (OrgOfonoManagerProxy, org_ofono_manager_proxy, G_TYPE_DBUS_PROXY,
584 G_ADD_PRIVATE (OrgOfonoManagerProxy)
585 G_IMPLEMENT_INTERFACE (TYPE_ORG_OFONO_MANAGER, org_ofono_manager_proxy_iface_init));
588 G_DEFINE_TYPE_WITH_CODE (OrgOfonoManagerProxy, org_ofono_manager_proxy, G_TYPE_DBUS_PROXY,
589 G_IMPLEMENT_INTERFACE (TYPE_ORG_OFONO_MANAGER, org_ofono_manager_proxy_iface_init));
593 org_ofono_manager_proxy_finalize (GObject *object)
595 OrgOfonoManagerProxy *proxy = ORG_OFONO_MANAGER_PROXY (object);
596 g_datalist_clear (&proxy->priv->qdata);
597 G_OBJECT_CLASS (org_ofono_manager_proxy_parent_class)->finalize (object);
601 org_ofono_manager_proxy_get_property (GObject *object,
604 GParamSpec *pspec G_GNUC_UNUSED)
609 org_ofono_manager_proxy_set_property (GObject *object,
612 GParamSpec *pspec G_GNUC_UNUSED)
617 org_ofono_manager_proxy_g_signal (GDBusProxy *proxy,
618 const gchar *sender_name G_GNUC_UNUSED,
619 const gchar *signal_name,
620 GVariant *parameters)
622 _ExtendedGDBusSignalInfo *info;
629 info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_org_ofono_manager_interface_info.parent_struct, signal_name);
632 num_params = g_variant_n_children (parameters);
633 paramv = g_new0 (GValue, num_params + 1);
634 g_value_init (¶mv[0], TYPE_ORG_OFONO_MANAGER);
635 g_value_set_object (¶mv[0], proxy);
636 g_variant_iter_init (&iter, parameters);
638 while ((child = g_variant_iter_next_value (&iter)) != NULL)
640 _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
641 if (arg_info->use_gvariant)
643 g_value_init (¶mv[n], G_TYPE_VARIANT);
644 g_value_set_variant (¶mv[n], child);
648 g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
649 g_variant_unref (child);
651 signal_id = g_signal_lookup (info->signal_name, TYPE_ORG_OFONO_MANAGER);
652 g_signal_emitv (paramv, signal_id, 0, NULL);
653 for (n = 0; n < num_params + 1; n++)
654 g_value_unset (¶mv[n]);
659 org_ofono_manager_proxy_g_properties_changed (GDBusProxy *_proxy,
660 GVariant *changed_properties,
661 const gchar *const *invalidated_properties)
663 OrgOfonoManagerProxy *proxy = ORG_OFONO_MANAGER_PROXY (_proxy);
667 _ExtendedGDBusPropertyInfo *info;
668 g_variant_get (changed_properties, "a{sv}", &iter);
669 while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
671 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_org_ofono_manager_interface_info.parent_struct, key);
672 g_datalist_remove_data (&proxy->priv->qdata, key);
674 g_object_notify (G_OBJECT (proxy), info->hyphen_name);
676 g_variant_iter_free (iter);
677 for (n = 0; invalidated_properties[n] != NULL; n++)
679 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_org_ofono_manager_interface_info.parent_struct, invalidated_properties[n]);
680 g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
682 g_object_notify (G_OBJECT (proxy), info->hyphen_name);
687 org_ofono_manager_proxy_init (OrgOfonoManagerProxy *proxy)
689 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
690 proxy->priv = org_ofono_manager_proxy_get_instance_private (proxy);
692 proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, TYPE_ORG_OFONO_MANAGER_PROXY, OrgOfonoManagerProxyPrivate);
695 g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), org_ofono_manager_interface_info ());
699 org_ofono_manager_proxy_class_init (OrgOfonoManagerProxyClass *klass)
701 GObjectClass *gobject_class;
702 GDBusProxyClass *proxy_class;
704 gobject_class = G_OBJECT_CLASS (klass);
705 gobject_class->finalize = org_ofono_manager_proxy_finalize;
706 gobject_class->get_property = org_ofono_manager_proxy_get_property;
707 gobject_class->set_property = org_ofono_manager_proxy_set_property;
709 proxy_class = G_DBUS_PROXY_CLASS (klass);
710 proxy_class->g_signal = org_ofono_manager_proxy_g_signal;
711 proxy_class->g_properties_changed = org_ofono_manager_proxy_g_properties_changed;
713 #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
714 g_type_class_add_private (klass, sizeof (OrgOfonoManagerProxyPrivate));
719 org_ofono_manager_proxy_iface_init (OrgOfonoManagerIface *iface)
724 * org_ofono_manager_proxy_new:
725 * @connection: A #GDBusConnection.
726 * @flags: Flags from the #GDBusProxyFlags enumeration.
727 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
728 * @object_path: An object path.
729 * @cancellable: (allow-none): A #GCancellable or %NULL.
730 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
731 * @user_data: User data to pass to @callback.
733 * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link>. See g_dbus_proxy_new() for more details.
735 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
736 * You can then call org_ofono_manager_proxy_new_finish() to get the result of the operation.
738 * See org_ofono_manager_proxy_new_sync() for the synchronous, blocking version of this constructor.
741 org_ofono_manager_proxy_new (
742 GDBusConnection *connection,
743 GDBusProxyFlags flags,
745 const gchar *object_path,
746 GCancellable *cancellable,
747 GAsyncReadyCallback callback,
750 g_async_initable_new_async (TYPE_ORG_OFONO_MANAGER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.ofono.Manager", NULL);
754 * org_ofono_manager_proxy_new_finish:
755 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to org_ofono_manager_proxy_new().
756 * @error: Return location for error or %NULL
758 * Finishes an operation started with org_ofono_manager_proxy_new().
760 * Returns: (transfer full) (type OrgOfonoManagerProxy): The constructed proxy object or %NULL if @error is set.
763 org_ofono_manager_proxy_new_finish (
768 GObject *source_object;
769 source_object = g_async_result_get_source_object (res);
770 ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
771 g_object_unref (source_object);
773 return ORG_OFONO_MANAGER (ret);
779 * org_ofono_manager_proxy_new_sync:
780 * @connection: A #GDBusConnection.
781 * @flags: Flags from the #GDBusProxyFlags enumeration.
782 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
783 * @object_path: An object path.
784 * @cancellable: (allow-none): A #GCancellable or %NULL.
785 * @error: Return location for error or %NULL
787 * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link>. See g_dbus_proxy_new_sync() for more details.
789 * The calling thread is blocked until a reply is received.
791 * See org_ofono_manager_proxy_new() for the asynchronous version of this constructor.
793 * Returns: (transfer full) (type OrgOfonoManagerProxy): The constructed proxy object or %NULL if @error is set.
796 org_ofono_manager_proxy_new_sync (
797 GDBusConnection *connection,
798 GDBusProxyFlags flags,
800 const gchar *object_path,
801 GCancellable *cancellable,
805 ret = g_initable_new (TYPE_ORG_OFONO_MANAGER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.ofono.Manager", NULL);
807 return ORG_OFONO_MANAGER (ret);
814 * org_ofono_manager_proxy_new_for_bus:
815 * @bus_type: A #GBusType.
816 * @flags: Flags from the #GDBusProxyFlags enumeration.
817 * @name: A bus name (well-known or unique).
818 * @object_path: An object path.
819 * @cancellable: (allow-none): A #GCancellable or %NULL.
820 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
821 * @user_data: User data to pass to @callback.
823 * Like org_ofono_manager_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
825 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
826 * You can then call org_ofono_manager_proxy_new_for_bus_finish() to get the result of the operation.
828 * See org_ofono_manager_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
831 org_ofono_manager_proxy_new_for_bus (
833 GDBusProxyFlags flags,
835 const gchar *object_path,
836 GCancellable *cancellable,
837 GAsyncReadyCallback callback,
840 g_async_initable_new_async (TYPE_ORG_OFONO_MANAGER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.ofono.Manager", NULL);
844 * org_ofono_manager_proxy_new_for_bus_finish:
845 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to org_ofono_manager_proxy_new_for_bus().
846 * @error: Return location for error or %NULL
848 * Finishes an operation started with org_ofono_manager_proxy_new_for_bus().
850 * Returns: (transfer full) (type OrgOfonoManagerProxy): The constructed proxy object or %NULL if @error is set.
853 org_ofono_manager_proxy_new_for_bus_finish (
858 GObject *source_object;
859 source_object = g_async_result_get_source_object (res);
860 ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
861 g_object_unref (source_object);
863 return ORG_OFONO_MANAGER (ret);
869 * org_ofono_manager_proxy_new_for_bus_sync:
870 * @bus_type: A #GBusType.
871 * @flags: Flags from the #GDBusProxyFlags enumeration.
872 * @name: A bus name (well-known or unique).
873 * @object_path: An object path.
874 * @cancellable: (allow-none): A #GCancellable or %NULL.
875 * @error: Return location for error or %NULL
877 * Like org_ofono_manager_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
879 * The calling thread is blocked until a reply is received.
881 * See org_ofono_manager_proxy_new_for_bus() for the asynchronous version of this constructor.
883 * Returns: (transfer full) (type OrgOfonoManagerProxy): The constructed proxy object or %NULL if @error is set.
886 org_ofono_manager_proxy_new_for_bus_sync (
888 GDBusProxyFlags flags,
890 const gchar *object_path,
891 GCancellable *cancellable,
895 ret = g_initable_new (TYPE_ORG_OFONO_MANAGER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.ofono.Manager", NULL);
897 return ORG_OFONO_MANAGER (ret);
903 /* ------------------------------------------------------------------------ */
906 * OrgOfonoManagerSkeleton:
908 * The #OrgOfonoManagerSkeleton structure contains only private data and should only be accessed using the provided API.
912 * OrgOfonoManagerSkeletonClass:
913 * @parent_class: The parent class.
915 * Class structure for #OrgOfonoManagerSkeleton.
918 struct _OrgOfonoManagerSkeletonPrivate
921 GList *changed_properties;
922 GSource *changed_properties_idle_source;
923 GMainContext *context;
928 _org_ofono_manager_skeleton_handle_method_call (
929 GDBusConnection *connection G_GNUC_UNUSED,
930 const gchar *sender G_GNUC_UNUSED,
931 const gchar *object_path G_GNUC_UNUSED,
932 const gchar *interface_name,
933 const gchar *method_name,
934 GVariant *parameters,
935 GDBusMethodInvocation *invocation,
938 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (user_data);
939 _ExtendedGDBusMethodInfo *info;
947 GValue return_value = G_VALUE_INIT;
948 info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
949 g_assert (info != NULL);
950 num_params = g_variant_n_children (parameters);
951 num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
953 g_value_init (¶mv[n], TYPE_ORG_OFONO_MANAGER);
954 g_value_set_object (¶mv[n++], skeleton);
955 g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
956 g_value_set_object (¶mv[n++], invocation);
957 if (info->pass_fdlist)
960 g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
961 g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
963 g_assert_not_reached ();
966 g_variant_iter_init (&iter, parameters);
967 while ((child = g_variant_iter_next_value (&iter)) != NULL)
969 _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
970 if (arg_info->use_gvariant)
972 g_value_init (¶mv[n], G_TYPE_VARIANT);
973 g_value_set_variant (¶mv[n], child);
977 g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
978 g_variant_unref (child);
980 signal_id = g_signal_lookup (info->signal_name, TYPE_ORG_OFONO_MANAGER);
981 g_value_init (&return_value, G_TYPE_BOOLEAN);
982 g_signal_emitv (paramv, signal_id, 0, &return_value);
983 if (!g_value_get_boolean (&return_value))
984 g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
985 g_value_unset (&return_value);
986 for (n = 0; n < num_params + num_extra; n++)
987 g_value_unset (¶mv[n]);
992 _org_ofono_manager_skeleton_handle_get_property (
993 GDBusConnection *connection G_GNUC_UNUSED,
994 const gchar *sender G_GNUC_UNUSED,
995 const gchar *object_path G_GNUC_UNUSED,
996 const gchar *interface_name G_GNUC_UNUSED,
997 const gchar *property_name,
1001 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (user_data);
1002 GValue value = G_VALUE_INIT;
1004 _ExtendedGDBusPropertyInfo *info;
1007 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_org_ofono_manager_interface_info.parent_struct, property_name);
1008 g_assert (info != NULL);
1009 pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
1012 g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
1016 g_value_init (&value, pspec->value_type);
1017 g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
1018 ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
1019 g_value_unset (&value);
1025 _org_ofono_manager_skeleton_handle_set_property (
1026 GDBusConnection *connection G_GNUC_UNUSED,
1027 const gchar *sender G_GNUC_UNUSED,
1028 const gchar *object_path G_GNUC_UNUSED,
1029 const gchar *interface_name G_GNUC_UNUSED,
1030 const gchar *property_name,
1035 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (user_data);
1036 GValue value = G_VALUE_INIT;
1038 _ExtendedGDBusPropertyInfo *info;
1041 info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_org_ofono_manager_interface_info.parent_struct, property_name);
1042 g_assert (info != NULL);
1043 pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
1046 g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
1050 if (info->use_gvariant)
1051 g_value_set_variant (&value, variant);
1053 g_dbus_gvariant_to_gvalue (variant, &value);
1054 g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
1055 g_value_unset (&value);
1061 static const GDBusInterfaceVTable _org_ofono_manager_skeleton_vtable =
1063 _org_ofono_manager_skeleton_handle_method_call,
1064 _org_ofono_manager_skeleton_handle_get_property,
1065 _org_ofono_manager_skeleton_handle_set_property,
1069 static GDBusInterfaceInfo *
1070 org_ofono_manager_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
1072 return org_ofono_manager_interface_info ();
1075 static GDBusInterfaceVTable *
1076 org_ofono_manager_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
1078 return (GDBusInterfaceVTable *) &_org_ofono_manager_skeleton_vtable;
1082 org_ofono_manager_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
1084 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (_skeleton);
1086 GVariantBuilder builder;
1088 g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
1089 if (_org_ofono_manager_interface_info.parent_struct.properties == NULL)
1091 for (n = 0; _org_ofono_manager_interface_info.parent_struct.properties[n] != NULL; n++)
1093 GDBusPropertyInfo *info = _org_ofono_manager_interface_info.parent_struct.properties[n];
1094 if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
1097 value = _org_ofono_manager_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.ofono.Manager", info->name, NULL, skeleton);
1100 g_variant_take_ref (value);
1101 g_variant_builder_add (&builder, "{sv}", info->name, value);
1102 g_variant_unref (value);
1107 return g_variant_builder_end (&builder);
1111 org_ofono_manager_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
1116 _org_ofono_manager_on_signal_modem_added (
1117 OrgOfonoManager *object,
1118 const gchar *arg_unnamed_arg0,
1119 GVariant *arg_unnamed_arg1)
1121 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (object);
1123 GList *connections, *l;
1124 GVariant *signal_variant;
1125 connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
1127 signal_variant = g_variant_ref_sink (g_variant_new ("(o@a{sv})",
1130 for (l = connections; l != NULL; l = l->next)
1132 GDBusConnection *connection = l->data;
1133 g_dbus_connection_emit_signal (connection,
1134 NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.ofono.Manager", "ModemAdded",
1135 signal_variant, NULL);
1137 g_variant_unref (signal_variant);
1138 g_list_free_full (connections, g_object_unref);
1142 _org_ofono_manager_on_signal_modem_removed (
1143 OrgOfonoManager *object,
1144 const gchar *arg_unnamed_arg0)
1146 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (object);
1148 GList *connections, *l;
1149 GVariant *signal_variant;
1150 connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
1152 signal_variant = g_variant_ref_sink (g_variant_new ("(o)",
1154 for (l = connections; l != NULL; l = l->next)
1156 GDBusConnection *connection = l->data;
1157 g_dbus_connection_emit_signal (connection,
1158 NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.ofono.Manager", "ModemRemoved",
1159 signal_variant, NULL);
1161 g_variant_unref (signal_variant);
1162 g_list_free_full (connections, g_object_unref);
1165 static void org_ofono_manager_skeleton_iface_init (OrgOfonoManagerIface *iface);
1166 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
1167 G_DEFINE_TYPE_WITH_CODE (OrgOfonoManagerSkeleton, org_ofono_manager_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
1168 G_ADD_PRIVATE (OrgOfonoManagerSkeleton)
1169 G_IMPLEMENT_INTERFACE (TYPE_ORG_OFONO_MANAGER, org_ofono_manager_skeleton_iface_init));
1172 G_DEFINE_TYPE_WITH_CODE (OrgOfonoManagerSkeleton, org_ofono_manager_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
1173 G_IMPLEMENT_INTERFACE (TYPE_ORG_OFONO_MANAGER, org_ofono_manager_skeleton_iface_init));
1177 org_ofono_manager_skeleton_finalize (GObject *object)
1179 OrgOfonoManagerSkeleton *skeleton = ORG_OFONO_MANAGER_SKELETON (object);
1180 g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
1181 if (skeleton->priv->changed_properties_idle_source != NULL)
1182 g_source_destroy (skeleton->priv->changed_properties_idle_source);
1183 g_main_context_unref (skeleton->priv->context);
1184 g_mutex_clear (&skeleton->priv->lock);
1185 G_OBJECT_CLASS (org_ofono_manager_skeleton_parent_class)->finalize (object);
1189 org_ofono_manager_skeleton_init (OrgOfonoManagerSkeleton *skeleton)
1191 #if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
1192 skeleton->priv = org_ofono_manager_skeleton_get_instance_private (skeleton);
1194 skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, TYPE_ORG_OFONO_MANAGER_SKELETON, OrgOfonoManagerSkeletonPrivate);
1197 g_mutex_init (&skeleton->priv->lock);
1198 skeleton->priv->context = g_main_context_ref_thread_default ();
1202 org_ofono_manager_skeleton_class_init (OrgOfonoManagerSkeletonClass *klass)
1204 GObjectClass *gobject_class;
1205 GDBusInterfaceSkeletonClass *skeleton_class;
1207 gobject_class = G_OBJECT_CLASS (klass);
1208 gobject_class->finalize = org_ofono_manager_skeleton_finalize;
1210 skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
1211 skeleton_class->get_info = org_ofono_manager_skeleton_dbus_interface_get_info;
1212 skeleton_class->get_properties = org_ofono_manager_skeleton_dbus_interface_get_properties;
1213 skeleton_class->flush = org_ofono_manager_skeleton_dbus_interface_flush;
1214 skeleton_class->get_vtable = org_ofono_manager_skeleton_dbus_interface_get_vtable;
1216 #if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
1217 g_type_class_add_private (klass, sizeof (OrgOfonoManagerSkeletonPrivate));
1222 org_ofono_manager_skeleton_iface_init (OrgOfonoManagerIface *iface)
1224 iface->modem_added = _org_ofono_manager_on_signal_modem_added;
1225 iface->modem_removed = _org_ofono_manager_on_signal_modem_removed;
1229 * org_ofono_manager_skeleton_new:
1231 * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link>.
1233 * Returns: (transfer full) (type OrgOfonoManagerSkeleton): The skeleton object.
1236 org_ofono_manager_skeleton_new (void)
1238 return ORG_OFONO_MANAGER (g_object_new (TYPE_ORG_OFONO_MANAGER_SKELETON, NULL));
1241 /* ------------------------------------------------------------------------
1242 * Code for Object, ObjectProxy and ObjectSkeleton
1243 * ------------------------------------------------------------------------
1249 * @short_description: Specialized GDBusObject types
1251 * This section contains the #Object, #ObjectProxy, and #ObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.
1257 * The #Object type is a specialized container of interfaces.
1262 * @parent_iface: The parent interface.
1264 * Virtual table for the #Object interface.
1267 typedef ObjectIface ObjectInterface;
1268 G_DEFINE_INTERFACE_WITH_CODE (Object, object, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT));
1271 object_default_init (ObjectIface *iface)
1274 * Object:org-ofono-manager:
1276 * The #OrgOfonoManager instance corresponding to the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link>, if any.
1278 * Connect to the #GObject::notify signal to get informed of property changes.
1280 g_object_interface_install_property (iface, g_param_spec_object ("org-ofono-manager", "org-ofono-manager", "org-ofono-manager", TYPE_ORG_OFONO_MANAGER, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS));
1285 * object_get_org_ofono_manager:
1286 * @object: A #Object.
1288 * Gets the #OrgOfonoManager instance for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link> on @object, if any.
1290 * Returns: (transfer full): A #OrgOfonoManager that must be freed with g_object_unref() or %NULL if @object does not implement the interface.
1292 OrgOfonoManager *object_get_org_ofono_manager (Object *object)
1294 GDBusInterface *ret;
1295 ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.ofono.Manager");
1298 return ORG_OFONO_MANAGER (ret);
1303 * object_peek_org_ofono_manager: (skip)
1304 * @object: A #Object.
1306 * Like object_get_org_ofono_manager() but doesn't increase the reference count on the returned object.
1308 * <warning>It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running.</warning>
1310 * Returns: (transfer none): A #OrgOfonoManager or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object.
1312 OrgOfonoManager *object_peek_org_ofono_manager (Object *object)
1314 GDBusInterface *ret;
1315 ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.ofono.Manager");
1318 g_object_unref (ret);
1319 return ORG_OFONO_MANAGER (ret);
1324 object_notify (GDBusObject *object, GDBusInterface *interface)
1326 _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface);
1327 /* info can be NULL if the other end is using a D-Bus interface we don't know
1328 * anything about, for example old generated code in this process talking to
1329 * newer generated code in the other process. */
1331 g_object_notify (G_OBJECT (object), info->hyphen_name);
1337 * The #ObjectProxy structure contains only private data and should only be accessed using the provided API.
1342 * @parent_class: The parent class.
1344 * Class structure for #ObjectProxy.
1348 object_proxy__object_iface_init (ObjectIface *iface G_GNUC_UNUSED)
1353 object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface)
1355 iface->interface_added = object_notify;
1356 iface->interface_removed = object_notify;
1360 G_DEFINE_TYPE_WITH_CODE (ObjectProxy, object_proxy, G_TYPE_DBUS_OBJECT_PROXY,
1361 G_IMPLEMENT_INTERFACE (TYPE_OBJECT, object_proxy__object_iface_init)
1362 G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, object_proxy__g_dbus_object_iface_init));
1365 object_proxy_init (ObjectProxy *object G_GNUC_UNUSED)
1370 object_proxy_set_property (GObject *gobject,
1372 const GValue *value G_GNUC_UNUSED,
1375 G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
1379 object_proxy_get_property (GObject *gobject,
1384 ObjectProxy *object = OBJECT_PROXY (gobject);
1385 GDBusInterface *interface;
1390 interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.ofono.Manager");
1391 g_value_take_object (value, interface);
1395 G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
1401 object_proxy_class_init (ObjectProxyClass *klass)
1403 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
1405 gobject_class->set_property = object_proxy_set_property;
1406 gobject_class->get_property = object_proxy_get_property;
1408 g_object_class_override_property (gobject_class, 1, "org-ofono-manager");
1413 * @connection: A #GDBusConnection.
1414 * @object_path: An object path.
1416 * Creates a new proxy object.
1418 * Returns: (transfer full): The proxy object.
1421 object_proxy_new (GDBusConnection *connection,
1422 const gchar *object_path)
1424 g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL);
1425 g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
1426 return OBJECT_PROXY (g_object_new (TYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL));
1432 * The #ObjectSkeleton structure contains only private data and should only be accessed using the provided API.
1436 * ObjectSkeletonClass:
1437 * @parent_class: The parent class.
1439 * Class structure for #ObjectSkeleton.
1443 object_skeleton__object_iface_init (ObjectIface *iface G_GNUC_UNUSED)
1449 object_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface)
1451 iface->interface_added = object_notify;
1452 iface->interface_removed = object_notify;
1455 G_DEFINE_TYPE_WITH_CODE (ObjectSkeleton, object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON,
1456 G_IMPLEMENT_INTERFACE (TYPE_OBJECT, object_skeleton__object_iface_init)
1457 G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, object_skeleton__g_dbus_object_iface_init));
1460 object_skeleton_init (ObjectSkeleton *object G_GNUC_UNUSED)
1465 object_skeleton_set_property (GObject *gobject,
1467 const GValue *value,
1470 ObjectSkeleton *object = OBJECT_SKELETON (gobject);
1471 GDBusInterfaceSkeleton *interface;
1476 interface = g_value_get_object (value);
1477 if (interface != NULL)
1479 g_warn_if_fail (IS_ORG_OFONO_MANAGER (interface));
1480 g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface);
1484 g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "org.ofono.Manager");
1489 G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
1495 object_skeleton_get_property (GObject *gobject,
1500 ObjectSkeleton *object = OBJECT_SKELETON (gobject);
1501 GDBusInterface *interface;
1506 interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.ofono.Manager");
1507 g_value_take_object (value, interface);
1511 G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
1517 object_skeleton_class_init (ObjectSkeletonClass *klass)
1519 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
1521 gobject_class->set_property = object_skeleton_set_property;
1522 gobject_class->get_property = object_skeleton_get_property;
1524 g_object_class_override_property (gobject_class, 1, "org-ofono-manager");
1528 * object_skeleton_new:
1529 * @object_path: An object path.
1531 * Creates a new skeleton object.
1533 * Returns: (transfer full): The skeleton object.
1536 object_skeleton_new (const gchar *object_path)
1538 g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
1539 return OBJECT_SKELETON (g_object_new (TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL));
1543 * object_skeleton_set_org_ofono_manager:
1544 * @object: A #ObjectSkeleton.
1545 * @interface_: (allow-none): A #OrgOfonoManager or %NULL to clear the interface.
1547 * Sets the #OrgOfonoManager instance for the D-Bus interface <link linkend="gdbus-interface-org-ofono-Manager.top_of_page">org.ofono.Manager</link> on @object.
1549 void object_skeleton_set_org_ofono_manager (ObjectSkeleton *object, OrgOfonoManager *interface_)
1551 g_object_set (G_OBJECT (object), "org-ofono-manager", interface_, NULL);
1555 /* ------------------------------------------------------------------------
1556 * Code for ObjectManager client
1557 * ------------------------------------------------------------------------
1561 * SECTION:ObjectManagerClient
1562 * @title: ObjectManagerClient
1563 * @short_description: Generated GDBusObjectManagerClient type
1565 * This section contains a #GDBusObjectManagerClient that uses object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc.
1569 * ObjectManagerClient:
1571 * The #ObjectManagerClient structure contains only private data and should only be accessed using the provided API.
1575 * ObjectManagerClientClass:
1576 * @parent_class: The parent class.
1578 * Class structure for #ObjectManagerClient.
1581 G_DEFINE_TYPE (ObjectManagerClient, object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT);
1584 object_manager_client_init (ObjectManagerClient *manager G_GNUC_UNUSED)
1589 object_manager_client_class_init (ObjectManagerClientClass *klass G_GNUC_UNUSED)
1594 * object_manager_client_get_proxy_type:
1595 * @manager: A #GDBusObjectManagerClient.
1596 * @object_path: The object path of the remote object (unused).
1597 * @interface_name: (allow-none): Interface name of the remote object or %NULL to get the object proxy #GType.
1598 * @user_data: User data (unused).
1600 * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy<!-- -->- and #GDBusProxy<!-- -->-derived types.
1602 * Returns: A #GDBusProxy<!-- -->-derived #GType if @interface_name is not %NULL, otherwise the #GType for #ObjectProxy.
1605 object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED)
1607 static gsize once_init_value = 0;
1608 static GHashTable *lookup_hash;
1611 if (interface_name == NULL)
1612 return TYPE_OBJECT_PROXY;
1613 if (g_once_init_enter (&once_init_value))
1615 lookup_hash = g_hash_table_new (g_str_hash, g_str_equal);
1616 g_hash_table_insert (lookup_hash, (gpointer) "org.ofono.Manager", GSIZE_TO_POINTER (TYPE_ORG_OFONO_MANAGER_PROXY));
1617 g_once_init_leave (&once_init_value, 1);
1619 ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name));
1620 if (ret == (GType) 0)
1621 ret = G_TYPE_DBUS_PROXY;
1626 * object_manager_client_new:
1627 * @connection: A #GDBusConnection.
1628 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
1629 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
1630 * @object_path: An object path.
1631 * @cancellable: (allow-none): A #GCancellable or %NULL.
1632 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
1633 * @user_data: User data to pass to @callback.
1635 * Asynchronously creates #GDBusObjectManagerClient using object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details.
1637 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
1638 * You can then call object_manager_client_new_finish() to get the result of the operation.
1640 * See object_manager_client_new_sync() for the synchronous, blocking version of this constructor.
1643 object_manager_client_new (
1644 GDBusConnection *connection,
1645 GDBusObjectManagerClientFlags flags,
1647 const gchar *object_path,
1648 GCancellable *cancellable,
1649 GAsyncReadyCallback callback,
1652 g_async_initable_new_async (TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", object_manager_client_get_proxy_type, NULL);
1656 * object_manager_client_new_finish:
1657 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to object_manager_client_new().
1658 * @error: Return location for error or %NULL
1660 * Finishes an operation started with object_manager_client_new().
1662 * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
1664 GDBusObjectManager *
1665 object_manager_client_new_finish (
1670 GObject *source_object;
1671 source_object = g_async_result_get_source_object (res);
1672 ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
1673 g_object_unref (source_object);
1675 return G_DBUS_OBJECT_MANAGER (ret);
1681 * object_manager_client_new_sync:
1682 * @connection: A #GDBusConnection.
1683 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
1684 * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
1685 * @object_path: An object path.
1686 * @cancellable: (allow-none): A #GCancellable or %NULL.
1687 * @error: Return location for error or %NULL
1689 * Synchronously creates #GDBusObjectManagerClient using object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details.
1691 * The calling thread is blocked until a reply is received.
1693 * See object_manager_client_new() for the asynchronous version of this constructor.
1695 * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
1697 GDBusObjectManager *
1698 object_manager_client_new_sync (
1699 GDBusConnection *connection,
1700 GDBusObjectManagerClientFlags flags,
1702 const gchar *object_path,
1703 GCancellable *cancellable,
1707 ret = g_initable_new (TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", object_manager_client_get_proxy_type, NULL);
1709 return G_DBUS_OBJECT_MANAGER (ret);
1716 * object_manager_client_new_for_bus:
1717 * @bus_type: A #GBusType.
1718 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
1719 * @name: A bus name (well-known or unique).
1720 * @object_path: An object path.
1721 * @cancellable: (allow-none): A #GCancellable or %NULL.
1722 * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
1723 * @user_data: User data to pass to @callback.
1725 * Like object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection.
1727 * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from.
1728 * You can then call object_manager_client_new_for_bus_finish() to get the result of the operation.
1730 * See object_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor.
1733 object_manager_client_new_for_bus (
1735 GDBusObjectManagerClientFlags flags,
1737 const gchar *object_path,
1738 GCancellable *cancellable,
1739 GAsyncReadyCallback callback,
1742 g_async_initable_new_async (TYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", object_manager_client_get_proxy_type, NULL);
1746 * object_manager_client_new_for_bus_finish:
1747 * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to object_manager_client_new_for_bus().
1748 * @error: Return location for error or %NULL
1750 * Finishes an operation started with object_manager_client_new_for_bus().
1752 * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
1754 GDBusObjectManager *
1755 object_manager_client_new_for_bus_finish (
1760 GObject *source_object;
1761 source_object = g_async_result_get_source_object (res);
1762 ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
1763 g_object_unref (source_object);
1765 return G_DBUS_OBJECT_MANAGER (ret);
1771 * object_manager_client_new_for_bus_sync:
1772 * @bus_type: A #GBusType.
1773 * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
1774 * @name: A bus name (well-known or unique).
1775 * @object_path: An object path.
1776 * @cancellable: (allow-none): A #GCancellable or %NULL.
1777 * @error: Return location for error or %NULL
1779 * Like object_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection.
1781 * The calling thread is blocked until a reply is received.
1783 * See object_manager_client_new_for_bus() for the asynchronous version of this constructor.
1785 * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
1787 GDBusObjectManager *
1788 object_manager_client_new_for_bus_sync (
1790 GDBusObjectManagerClientFlags flags,
1792 const gchar *object_path,
1793 GCancellable *cancellable,
1797 ret = g_initable_new (TYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", object_manager_client_get_proxy_type, NULL);
1799 return G_DBUS_OBJECT_MANAGER (ret);