aboutsummaryrefslogtreecommitdiffstats
path: root/src/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces')
-rw-r--r--src/interfaces/hostnamed/hostnamed-gen.c3956
-rw-r--r--src/interfaces/hostnamed/hostnamed-gen.h710
-rw-r--r--src/interfaces/hostnamed/hostnamed.c83
3 files changed, 788 insertions, 3961 deletions
diff --git a/src/interfaces/hostnamed/hostnamed-gen.c b/src/interfaces/hostnamed/hostnamed-gen.c
index 20c1d42..2026947 100644
--- a/src/interfaces/hostnamed/hostnamed-gen.c
+++ b/src/interfaces/hostnamed/hostnamed-gen.c
@@ -149,3398 +149,6 @@ _g_value_equal (const GValue *a, const GValue *b)
}
/* ------------------------------------------------------------------------
- * Code for interface org.freedesktop.DBus.Peer
- * ------------------------------------------------------------------------
- */
-
-/**
- * SECTION:DBusPeer
- * @title: DBusPeer
- * @short_description: Generated C code for the org.freedesktop.DBus.Peer D-Bus interface
- *
- * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link> D-Bus interface in C.
- */
-
-/* ---- Introspection data for org.freedesktop.DBus.Peer ---- */
-
-static const _ExtendedGDBusMethodInfo _dbus_peer_method_info_ping =
-{
- {
- -1,
- (gchar *) "Ping",
- NULL,
- NULL,
- NULL
- },
- "handle-ping",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_peer_method_info_get_machine_id_OUT_ARG_machine_uuid =
-{
- {
- -1,
- (gchar *) "machine_uuid",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_peer_method_info_get_machine_id_OUT_ARG_pointers[] =
-{
- &_dbus_peer_method_info_get_machine_id_OUT_ARG_machine_uuid,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo _dbus_peer_method_info_get_machine_id =
-{
- {
- -1,
- (gchar *) "GetMachineId",
- NULL,
- (GDBusArgInfo **) &_dbus_peer_method_info_get_machine_id_OUT_ARG_pointers,
- NULL
- },
- "handle-get-machine-id",
- FALSE
-};
-
-static const _ExtendedGDBusMethodInfo * const _dbus_peer_method_info_pointers[] =
-{
- &_dbus_peer_method_info_ping,
- &_dbus_peer_method_info_get_machine_id,
- NULL
-};
-
-static const _ExtendedGDBusInterfaceInfo _dbus_peer_interface_info =
-{
- {
- -1,
- (gchar *) "org.freedesktop.DBus.Peer",
- (GDBusMethodInfo **) &_dbus_peer_method_info_pointers,
- NULL,
- NULL,
- NULL
- },
- "dbus-peer",
-};
-
-
-/**
- * dbus_peer_interface_info:
- *
- * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link> D-Bus interface.
- *
- * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
- */
-GDBusInterfaceInfo *
-dbus_peer_interface_info (void)
-{
- return (GDBusInterfaceInfo *) &_dbus_peer_interface_info.parent_struct;
-}
-
-/**
- * dbus_peer_override_properties:
- * @klass: The class structure for a #GObject<!-- -->-derived class.
- * @property_id_begin: The property id to assign to the first overridden property.
- *
- * Overrides all #GObject properties in the #DBusPeer interface for a concrete class.
- * The properties are overridden in the order they are defined.
- *
- * Returns: The last property id.
- */
-guint
-dbus_peer_override_properties (GObjectClass *klass, guint property_id_begin)
-{
- return property_id_begin - 1;
-}
-
-
-
-/**
- * DBusPeer:
- *
- * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link>.
- */
-
-/**
- * DBusPeerIface:
- * @parent_iface: The parent interface.
- * @handle_get_machine_id: Handler for the #DBusPeer::handle-get-machine-id signal.
- * @handle_ping: Handler for the #DBusPeer::handle-ping signal.
- *
- * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link>.
- */
-
-typedef DBusPeerIface DBusPeerInterface;
-G_DEFINE_INTERFACE (DBusPeer, dbus_peer, G_TYPE_OBJECT);
-
-static void
-dbus_peer_default_init (DBusPeerIface *iface)
-{
- /* GObject signals for incoming D-Bus method calls: */
- /**
- * DBusPeer::handle-ping:
- * @object: A #DBusPeer.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.Ping">Ping()</link> D-Bus method.
- *
- * 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 dbus_peer_complete_ping() 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.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-ping",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusPeerIface, handle_ping),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
-
- /**
- * DBusPeer::handle-get-machine-id:
- * @object: A #DBusPeer.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.GetMachineId">GetMachineId()</link> D-Bus method.
- *
- * 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 dbus_peer_complete_get_machine_id() 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.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-get-machine-id",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusPeerIface, handle_get_machine_id),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
-
-}
-
-/**
- * dbus_peer_call_ping:
- * @proxy: A #DBusPeerProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.Ping">Ping()</link> D-Bus method on @proxy.
- * 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.
- * You can then call dbus_peer_call_ping_finish() to get the result of the operation.
- *
- * See dbus_peer_call_ping_sync() for the synchronous, blocking version of this method.
- */
-void
-dbus_peer_call_ping (
- DBusPeer *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "Ping",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * dbus_peer_call_ping_finish:
- * @proxy: A #DBusPeerProxy.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_peer_call_ping().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with dbus_peer_call_ping().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_peer_call_ping_finish (
- DBusPeer *proxy,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "()");
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_peer_call_ping_sync:
- * @proxy: A #DBusPeerProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.Ping">Ping()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See dbus_peer_call_ping() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_peer_call_ping_sync (
- DBusPeer *proxy,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "Ping",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "()");
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_peer_call_get_machine_id:
- * @proxy: A #DBusPeerProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.GetMachineId">GetMachineId()</link> D-Bus method on @proxy.
- * 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.
- * You can then call dbus_peer_call_get_machine_id_finish() to get the result of the operation.
- *
- * See dbus_peer_call_get_machine_id_sync() for the synchronous, blocking version of this method.
- */
-void
-dbus_peer_call_get_machine_id (
- DBusPeer *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "GetMachineId",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * dbus_peer_call_get_machine_id_finish:
- * @proxy: A #DBusPeerProxy.
- * @out_machine_uuid: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_peer_call_get_machine_id().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with dbus_peer_call_get_machine_id().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_peer_call_get_machine_id_finish (
- DBusPeer *proxy,
- gchar **out_machine_uuid,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(s)",
- out_machine_uuid);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_peer_call_get_machine_id_sync:
- * @proxy: A #DBusPeerProxy.
- * @out_machine_uuid: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.GetMachineId">GetMachineId()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See dbus_peer_call_get_machine_id() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_peer_call_get_machine_id_sync (
- DBusPeer *proxy,
- gchar **out_machine_uuid,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "GetMachineId",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(s)",
- out_machine_uuid);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_peer_complete_ping:
- * @object: A #DBusPeer.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- *
- * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.Ping">Ping()</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.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-dbus_peer_complete_ping (
- DBusPeer *object,
- GDBusMethodInvocation *invocation)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("()"));
-}
-
-/**
- * dbus_peer_complete_get_machine_id:
- * @object: A #DBusPeer.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @machine_uuid: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus-Peer.GetMachineId">GetMachineId()</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.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-dbus_peer_complete_get_machine_id (
- DBusPeer *object,
- GDBusMethodInvocation *invocation,
- const gchar *machine_uuid)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(s)",
- machine_uuid));
-}
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * DBusPeerProxy:
- *
- * The #DBusPeerProxy structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * DBusPeerProxyClass:
- * @parent_class: The parent class.
- *
- * Class structure for #DBusPeerProxy.
- */
-
-struct _DBusPeerProxyPrivate
-{
- GData *qdata;
-};
-
-static void dbus_peer_proxy_iface_init (DBusPeerIface *iface);
-
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (DBusPeerProxy, dbus_peer_proxy, G_TYPE_DBUS_PROXY,
- G_ADD_PRIVATE (DBusPeerProxy)
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PEER, dbus_peer_proxy_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (DBusPeerProxy, dbus_peer_proxy, G_TYPE_DBUS_PROXY,
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PEER, dbus_peer_proxy_iface_init));
-
-#endif
-static void
-dbus_peer_proxy_finalize (GObject *object)
-{
- DBusPeerProxy *proxy = DBUS_PEER_PROXY (object);
- g_datalist_clear (&proxy->priv->qdata);
- G_OBJECT_CLASS (dbus_peer_proxy_parent_class)->finalize (object);
-}
-
-static void
-dbus_peer_proxy_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-dbus_peer_proxy_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-dbus_peer_proxy_g_signal (GDBusProxy *proxy,
- const gchar *sender_name G_GNUC_UNUSED,
- const gchar *signal_name,
- GVariant *parameters)
-{
- _ExtendedGDBusSignalInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint n;
- guint signal_id;
- info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_dbus_peer_interface_info.parent_struct, signal_name);
- if (info == NULL)
- return;
- num_params = g_variant_n_children (parameters);
- paramv = g_new0 (GValue, num_params + 1);
- g_value_init (&paramv[0], TYPE_DBUS_PEER);
- g_value_set_object (&paramv[0], proxy);
- g_variant_iter_init (&iter, parameters);
- n = 1;
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
- if (arg_info->use_gvariant)
- {
- g_value_init (&paramv[n], G_TYPE_VARIANT);
- g_value_set_variant (&paramv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, TYPE_DBUS_PEER);
- g_signal_emitv (paramv, signal_id, 0, NULL);
- for (n = 0; n < num_params + 1; n++)
- g_value_unset (&paramv[n]);
- g_free (paramv);
-}
-
-static void
-dbus_peer_proxy_g_properties_changed (GDBusProxy *_proxy,
- GVariant *changed_properties,
- const gchar *const *invalidated_properties)
-{
- DBusPeerProxy *proxy = DBUS_PEER_PROXY (_proxy);
- guint n;
- const gchar *key;
- GVariantIter *iter;
- _ExtendedGDBusPropertyInfo *info;
- g_variant_get (changed_properties, "a{sv}", &iter);
- while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_peer_interface_info.parent_struct, key);
- g_datalist_remove_data (&proxy->priv->qdata, key);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
- g_variant_iter_free (iter);
- for (n = 0; invalidated_properties[n] != NULL; n++)
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_peer_interface_info.parent_struct, invalidated_properties[n]);
- g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
-}
-
-static void
-dbus_peer_proxy_init (DBusPeerProxy *proxy)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- proxy->priv = dbus_peer_proxy_get_instance_private (proxy);
-#else
- proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, TYPE_DBUS_PEER_PROXY, DBusPeerProxyPrivate);
-#endif
-
- g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), dbus_peer_interface_info ());
-}
-
-static void
-dbus_peer_proxy_class_init (DBusPeerProxyClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusProxyClass *proxy_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = dbus_peer_proxy_finalize;
- gobject_class->get_property = dbus_peer_proxy_get_property;
- gobject_class->set_property = dbus_peer_proxy_set_property;
-
- proxy_class = G_DBUS_PROXY_CLASS (klass);
- proxy_class->g_signal = dbus_peer_proxy_g_signal;
- proxy_class->g_properties_changed = dbus_peer_proxy_g_properties_changed;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (DBusPeerProxyPrivate));
-#endif
-}
-
-static void
-dbus_peer_proxy_iface_init (DBusPeerIface *iface)
-{
-}
-
-/**
- * dbus_peer_proxy_new:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link>. See g_dbus_proxy_new() for more details.
- *
- * 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.
- * You can then call dbus_peer_proxy_new_finish() to get the result of the operation.
- *
- * See dbus_peer_proxy_new_sync() for the synchronous, blocking version of this constructor.
- */
-void
-dbus_peer_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (TYPE_DBUS_PEER_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.freedesktop.DBus.Peer", NULL);
-}
-
-/**
- * dbus_peer_proxy_new_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_peer_proxy_new().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with dbus_peer_proxy_new().
- *
- * Returns: (transfer full) (type DBusPeerProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusPeer *
-dbus_peer_proxy_new_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return DBUS_PEER (ret);
- else
- return NULL;
-}
-
-/**
- * dbus_peer_proxy_new_sync:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link>. See g_dbus_proxy_new_sync() for more details.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See dbus_peer_proxy_new() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type DBusPeerProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusPeer *
-dbus_peer_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (TYPE_DBUS_PEER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus.Peer", NULL);
- if (ret != NULL)
- return DBUS_PEER (ret);
- else
- return NULL;
-}
-
-
-/**
- * dbus_peer_proxy_new_for_bus:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Like dbus_peer_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
- *
- * 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.
- * You can then call dbus_peer_proxy_new_for_bus_finish() to get the result of the operation.
- *
- * See dbus_peer_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
- */
-void
-dbus_peer_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (TYPE_DBUS_PEER_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.freedesktop.DBus.Peer", NULL);
-}
-
-/**
- * dbus_peer_proxy_new_for_bus_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_peer_proxy_new_for_bus().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with dbus_peer_proxy_new_for_bus().
- *
- * Returns: (transfer full) (type DBusPeerProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusPeer *
-dbus_peer_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return DBUS_PEER (ret);
- else
- return NULL;
-}
-
-/**
- * dbus_peer_proxy_new_for_bus_sync:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Like dbus_peer_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See dbus_peer_proxy_new_for_bus() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type DBusPeerProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusPeer *
-dbus_peer_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (TYPE_DBUS_PEER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus.Peer", NULL);
- if (ret != NULL)
- return DBUS_PEER (ret);
- else
- return NULL;
-}
-
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * DBusPeerSkeleton:
- *
- * The #DBusPeerSkeleton structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * DBusPeerSkeletonClass:
- * @parent_class: The parent class.
- *
- * Class structure for #DBusPeerSkeleton.
- */
-
-struct _DBusPeerSkeletonPrivate
-{
- GValue *properties;
- GList *changed_properties;
- GSource *changed_properties_idle_source;
- GMainContext *context;
- GMutex lock;
-};
-
-static void
-_dbus_peer_skeleton_handle_method_call (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- DBusPeerSkeleton *skeleton = DBUS_PEER_SKELETON (user_data);
- _ExtendedGDBusMethodInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint num_extra;
- guint n;
- guint signal_id;
- GValue return_value = G_VALUE_INIT;
- info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
- g_assert (info != NULL);
- num_params = g_variant_n_children (parameters);
- num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
- n = 0;
- g_value_init (&paramv[n], TYPE_DBUS_PEER);
- g_value_set_object (&paramv[n++], skeleton);
- g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
- g_value_set_object (&paramv[n++], invocation);
- if (info->pass_fdlist)
- {
-#ifdef G_OS_UNIX
- g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
- g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
-#else
- g_assert_not_reached ();
-#endif
- }
- g_variant_iter_init (&iter, parameters);
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
- if (arg_info->use_gvariant)
- {
- g_value_init (&paramv[n], G_TYPE_VARIANT);
- g_value_set_variant (&paramv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, TYPE_DBUS_PEER);
- g_value_init (&return_value, G_TYPE_BOOLEAN);
- g_signal_emitv (paramv, signal_id, 0, &return_value);
- if (!g_value_get_boolean (&return_value))
- 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);
- g_value_unset (&return_value);
- for (n = 0; n < num_params + num_extra; n++)
- g_value_unset (&paramv[n]);
- g_free (paramv);
-}
-
-static GVariant *
-_dbus_peer_skeleton_handle_get_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GError **error,
- gpointer user_data)
-{
- DBusPeerSkeleton *skeleton = DBUS_PEER_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- GVariant *ret;
- ret = NULL;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_peer_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- g_value_init (&value, pspec->value_type);
- g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
- g_value_unset (&value);
- }
- return ret;
-}
-
-static gboolean
-_dbus_peer_skeleton_handle_set_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GVariant *variant,
- GError **error,
- gpointer user_data)
-{
- DBusPeerSkeleton *skeleton = DBUS_PEER_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- gboolean ret;
- ret = FALSE;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_peer_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- if (info->use_gvariant)
- g_value_set_variant (&value, variant);
- else
- g_dbus_gvariant_to_gvalue (variant, &value);
- g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- g_value_unset (&value);
- ret = TRUE;
- }
- return ret;
-}
-
-static const GDBusInterfaceVTable _dbus_peer_skeleton_vtable =
-{
- _dbus_peer_skeleton_handle_method_call,
- _dbus_peer_skeleton_handle_get_property,
- _dbus_peer_skeleton_handle_set_property,
- {NULL}
-};
-
-static GDBusInterfaceInfo *
-dbus_peer_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return dbus_peer_interface_info ();
-}
-
-static GDBusInterfaceVTable *
-dbus_peer_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return (GDBusInterfaceVTable *) &_dbus_peer_skeleton_vtable;
-}
-
-static GVariant *
-dbus_peer_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
-{
- DBusPeerSkeleton *skeleton = DBUS_PEER_SKELETON (_skeleton);
-
- GVariantBuilder builder;
- guint n;
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
- if (_dbus_peer_interface_info.parent_struct.properties == NULL)
- goto out;
- for (n = 0; _dbus_peer_interface_info.parent_struct.properties[n] != NULL; n++)
- {
- GDBusPropertyInfo *info = _dbus_peer_interface_info.parent_struct.properties[n];
- if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
- {
- GVariant *value;
- value = _dbus_peer_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.freedesktop.DBus.Peer", info->name, NULL, skeleton);
- if (value != NULL)
- {
- g_variant_take_ref (value);
- g_variant_builder_add (&builder, "{sv}", info->name, value);
- g_variant_unref (value);
- }
- }
- }
-out:
- return g_variant_builder_end (&builder);
-}
-
-static void
-dbus_peer_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
-{
-}
-
-static void dbus_peer_skeleton_iface_init (DBusPeerIface *iface);
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (DBusPeerSkeleton, dbus_peer_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_ADD_PRIVATE (DBusPeerSkeleton)
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PEER, dbus_peer_skeleton_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (DBusPeerSkeleton, dbus_peer_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PEER, dbus_peer_skeleton_iface_init));
-
-#endif
-static void
-dbus_peer_skeleton_finalize (GObject *object)
-{
- DBusPeerSkeleton *skeleton = DBUS_PEER_SKELETON (object);
- g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
- if (skeleton->priv->changed_properties_idle_source != NULL)
- g_source_destroy (skeleton->priv->changed_properties_idle_source);
- g_main_context_unref (skeleton->priv->context);
- g_mutex_clear (&skeleton->priv->lock);
- G_OBJECT_CLASS (dbus_peer_skeleton_parent_class)->finalize (object);
-}
-
-static void
-dbus_peer_skeleton_init (DBusPeerSkeleton *skeleton)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- skeleton->priv = dbus_peer_skeleton_get_instance_private (skeleton);
-#else
- skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, TYPE_DBUS_PEER_SKELETON, DBusPeerSkeletonPrivate);
-#endif
-
- g_mutex_init (&skeleton->priv->lock);
- skeleton->priv->context = g_main_context_ref_thread_default ();
-}
-
-static void
-dbus_peer_skeleton_class_init (DBusPeerSkeletonClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusInterfaceSkeletonClass *skeleton_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = dbus_peer_skeleton_finalize;
-
- skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
- skeleton_class->get_info = dbus_peer_skeleton_dbus_interface_get_info;
- skeleton_class->get_properties = dbus_peer_skeleton_dbus_interface_get_properties;
- skeleton_class->flush = dbus_peer_skeleton_dbus_interface_flush;
- skeleton_class->get_vtable = dbus_peer_skeleton_dbus_interface_get_vtable;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (DBusPeerSkeletonPrivate));
-#endif
-}
-
-static void
-dbus_peer_skeleton_iface_init (DBusPeerIface *iface)
-{
-}
-
-/**
- * dbus_peer_skeleton_new:
- *
- * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Peer.top_of_page">org.freedesktop.DBus.Peer</link>.
- *
- * Returns: (transfer full) (type DBusPeerSkeleton): The skeleton object.
- */
-DBusPeer *
-dbus_peer_skeleton_new (void)
-{
- return DBUS_PEER (g_object_new (TYPE_DBUS_PEER_SKELETON, NULL));
-}
-
-/* ------------------------------------------------------------------------
- * Code for interface org.freedesktop.DBus.Introspectable
- * ------------------------------------------------------------------------
- */
-
-/**
- * SECTION:DBusIntrospectable
- * @title: DBusIntrospectable
- * @short_description: Generated C code for the org.freedesktop.DBus.Introspectable D-Bus interface
- *
- * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link> D-Bus interface in C.
- */
-
-/* ---- Introspection data for org.freedesktop.DBus.Introspectable ---- */
-
-static const _ExtendedGDBusArgInfo _dbus_introspectable_method_info_introspect_OUT_ARG_data =
-{
- {
- -1,
- (gchar *) "data",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_introspectable_method_info_introspect_OUT_ARG_pointers[] =
-{
- &_dbus_introspectable_method_info_introspect_OUT_ARG_data,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo _dbus_introspectable_method_info_introspect =
-{
- {
- -1,
- (gchar *) "Introspect",
- NULL,
- (GDBusArgInfo **) &_dbus_introspectable_method_info_introspect_OUT_ARG_pointers,
- NULL
- },
- "handle-introspect",
- FALSE
-};
-
-static const _ExtendedGDBusMethodInfo * const _dbus_introspectable_method_info_pointers[] =
-{
- &_dbus_introspectable_method_info_introspect,
- NULL
-};
-
-static const _ExtendedGDBusInterfaceInfo _dbus_introspectable_interface_info =
-{
- {
- -1,
- (gchar *) "org.freedesktop.DBus.Introspectable",
- (GDBusMethodInfo **) &_dbus_introspectable_method_info_pointers,
- NULL,
- NULL,
- NULL
- },
- "dbus-introspectable",
-};
-
-
-/**
- * dbus_introspectable_interface_info:
- *
- * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link> D-Bus interface.
- *
- * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
- */
-GDBusInterfaceInfo *
-dbus_introspectable_interface_info (void)
-{
- return (GDBusInterfaceInfo *) &_dbus_introspectable_interface_info.parent_struct;
-}
-
-/**
- * dbus_introspectable_override_properties:
- * @klass: The class structure for a #GObject<!-- -->-derived class.
- * @property_id_begin: The property id to assign to the first overridden property.
- *
- * Overrides all #GObject properties in the #DBusIntrospectable interface for a concrete class.
- * The properties are overridden in the order they are defined.
- *
- * Returns: The last property id.
- */
-guint
-dbus_introspectable_override_properties (GObjectClass *klass, guint property_id_begin)
-{
- return property_id_begin - 1;
-}
-
-
-
-/**
- * DBusIntrospectable:
- *
- * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link>.
- */
-
-/**
- * DBusIntrospectableIface:
- * @parent_iface: The parent interface.
- * @handle_introspect: Handler for the #DBusIntrospectable::handle-introspect signal.
- *
- * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link>.
- */
-
-typedef DBusIntrospectableIface DBusIntrospectableInterface;
-G_DEFINE_INTERFACE (DBusIntrospectable, dbus_introspectable, G_TYPE_OBJECT);
-
-static void
-dbus_introspectable_default_init (DBusIntrospectableIface *iface)
-{
- /* GObject signals for incoming D-Bus method calls: */
- /**
- * DBusIntrospectable::handle-introspect:
- * @object: A #DBusIntrospectable.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus-Introspectable.Introspect">Introspect()</link> D-Bus method.
- *
- * 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 dbus_introspectable_complete_introspect() 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.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-introspect",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusIntrospectableIface, handle_introspect),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
-
-}
-
-/**
- * dbus_introspectable_call_introspect:
- * @proxy: A #DBusIntrospectableProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Introspectable.Introspect">Introspect()</link> D-Bus method on @proxy.
- * 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.
- * You can then call dbus_introspectable_call_introspect_finish() to get the result of the operation.
- *
- * See dbus_introspectable_call_introspect_sync() for the synchronous, blocking version of this method.
- */
-void
-dbus_introspectable_call_introspect (
- DBusIntrospectable *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "Introspect",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * dbus_introspectable_call_introspect_finish:
- * @proxy: A #DBusIntrospectableProxy.
- * @out_data: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_introspectable_call_introspect().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with dbus_introspectable_call_introspect().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_introspectable_call_introspect_finish (
- DBusIntrospectable *proxy,
- gchar **out_data,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(s)",
- out_data);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_introspectable_call_introspect_sync:
- * @proxy: A #DBusIntrospectableProxy.
- * @out_data: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Introspectable.Introspect">Introspect()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See dbus_introspectable_call_introspect() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_introspectable_call_introspect_sync (
- DBusIntrospectable *proxy,
- gchar **out_data,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "Introspect",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(s)",
- out_data);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_introspectable_complete_introspect:
- * @object: A #DBusIntrospectable.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @data: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus-Introspectable.Introspect">Introspect()</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.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-dbus_introspectable_complete_introspect (
- DBusIntrospectable *object,
- GDBusMethodInvocation *invocation,
- const gchar *data)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(s)",
- data));
-}
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * DBusIntrospectableProxy:
- *
- * The #DBusIntrospectableProxy structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * DBusIntrospectableProxyClass:
- * @parent_class: The parent class.
- *
- * Class structure for #DBusIntrospectableProxy.
- */
-
-struct _DBusIntrospectableProxyPrivate
-{
- GData *qdata;
-};
-
-static void dbus_introspectable_proxy_iface_init (DBusIntrospectableIface *iface);
-
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (DBusIntrospectableProxy, dbus_introspectable_proxy, G_TYPE_DBUS_PROXY,
- G_ADD_PRIVATE (DBusIntrospectableProxy)
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_INTROSPECTABLE, dbus_introspectable_proxy_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (DBusIntrospectableProxy, dbus_introspectable_proxy, G_TYPE_DBUS_PROXY,
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_INTROSPECTABLE, dbus_introspectable_proxy_iface_init));
-
-#endif
-static void
-dbus_introspectable_proxy_finalize (GObject *object)
-{
- DBusIntrospectableProxy *proxy = DBUS_INTROSPECTABLE_PROXY (object);
- g_datalist_clear (&proxy->priv->qdata);
- G_OBJECT_CLASS (dbus_introspectable_proxy_parent_class)->finalize (object);
-}
-
-static void
-dbus_introspectable_proxy_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-dbus_introspectable_proxy_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-dbus_introspectable_proxy_g_signal (GDBusProxy *proxy,
- const gchar *sender_name G_GNUC_UNUSED,
- const gchar *signal_name,
- GVariant *parameters)
-{
- _ExtendedGDBusSignalInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint n;
- guint signal_id;
- info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_dbus_introspectable_interface_info.parent_struct, signal_name);
- if (info == NULL)
- return;
- num_params = g_variant_n_children (parameters);
- paramv = g_new0 (GValue, num_params + 1);
- g_value_init (&paramv[0], TYPE_DBUS_INTROSPECTABLE);
- g_value_set_object (&paramv[0], proxy);
- g_variant_iter_init (&iter, parameters);
- n = 1;
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
- if (arg_info->use_gvariant)
- {
- g_value_init (&paramv[n], G_TYPE_VARIANT);
- g_value_set_variant (&paramv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, TYPE_DBUS_INTROSPECTABLE);
- g_signal_emitv (paramv, signal_id, 0, NULL);
- for (n = 0; n < num_params + 1; n++)
- g_value_unset (&paramv[n]);
- g_free (paramv);
-}
-
-static void
-dbus_introspectable_proxy_g_properties_changed (GDBusProxy *_proxy,
- GVariant *changed_properties,
- const gchar *const *invalidated_properties)
-{
- DBusIntrospectableProxy *proxy = DBUS_INTROSPECTABLE_PROXY (_proxy);
- guint n;
- const gchar *key;
- GVariantIter *iter;
- _ExtendedGDBusPropertyInfo *info;
- g_variant_get (changed_properties, "a{sv}", &iter);
- while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_introspectable_interface_info.parent_struct, key);
- g_datalist_remove_data (&proxy->priv->qdata, key);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
- g_variant_iter_free (iter);
- for (n = 0; invalidated_properties[n] != NULL; n++)
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_introspectable_interface_info.parent_struct, invalidated_properties[n]);
- g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
-}
-
-static void
-dbus_introspectable_proxy_init (DBusIntrospectableProxy *proxy)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- proxy->priv = dbus_introspectable_proxy_get_instance_private (proxy);
-#else
- proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, TYPE_DBUS_INTROSPECTABLE_PROXY, DBusIntrospectableProxyPrivate);
-#endif
-
- g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), dbus_introspectable_interface_info ());
-}
-
-static void
-dbus_introspectable_proxy_class_init (DBusIntrospectableProxyClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusProxyClass *proxy_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = dbus_introspectable_proxy_finalize;
- gobject_class->get_property = dbus_introspectable_proxy_get_property;
- gobject_class->set_property = dbus_introspectable_proxy_set_property;
-
- proxy_class = G_DBUS_PROXY_CLASS (klass);
- proxy_class->g_signal = dbus_introspectable_proxy_g_signal;
- proxy_class->g_properties_changed = dbus_introspectable_proxy_g_properties_changed;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (DBusIntrospectableProxyPrivate));
-#endif
-}
-
-static void
-dbus_introspectable_proxy_iface_init (DBusIntrospectableIface *iface)
-{
-}
-
-/**
- * dbus_introspectable_proxy_new:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link>. See g_dbus_proxy_new() for more details.
- *
- * 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.
- * You can then call dbus_introspectable_proxy_new_finish() to get the result of the operation.
- *
- * See dbus_introspectable_proxy_new_sync() for the synchronous, blocking version of this constructor.
- */
-void
-dbus_introspectable_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (TYPE_DBUS_INTROSPECTABLE_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.freedesktop.DBus.Introspectable", NULL);
-}
-
-/**
- * dbus_introspectable_proxy_new_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_introspectable_proxy_new().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with dbus_introspectable_proxy_new().
- *
- * Returns: (transfer full) (type DBusIntrospectableProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusIntrospectable *
-dbus_introspectable_proxy_new_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return DBUS_INTROSPECTABLE (ret);
- else
- return NULL;
-}
-
-/**
- * dbus_introspectable_proxy_new_sync:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link>. See g_dbus_proxy_new_sync() for more details.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See dbus_introspectable_proxy_new() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type DBusIntrospectableProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusIntrospectable *
-dbus_introspectable_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (TYPE_DBUS_INTROSPECTABLE_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus.Introspectable", NULL);
- if (ret != NULL)
- return DBUS_INTROSPECTABLE (ret);
- else
- return NULL;
-}
-
-
-/**
- * dbus_introspectable_proxy_new_for_bus:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Like dbus_introspectable_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
- *
- * 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.
- * You can then call dbus_introspectable_proxy_new_for_bus_finish() to get the result of the operation.
- *
- * See dbus_introspectable_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
- */
-void
-dbus_introspectable_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (TYPE_DBUS_INTROSPECTABLE_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.freedesktop.DBus.Introspectable", NULL);
-}
-
-/**
- * dbus_introspectable_proxy_new_for_bus_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_introspectable_proxy_new_for_bus().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with dbus_introspectable_proxy_new_for_bus().
- *
- * Returns: (transfer full) (type DBusIntrospectableProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusIntrospectable *
-dbus_introspectable_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return DBUS_INTROSPECTABLE (ret);
- else
- return NULL;
-}
-
-/**
- * dbus_introspectable_proxy_new_for_bus_sync:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Like dbus_introspectable_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See dbus_introspectable_proxy_new_for_bus() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type DBusIntrospectableProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusIntrospectable *
-dbus_introspectable_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (TYPE_DBUS_INTROSPECTABLE_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus.Introspectable", NULL);
- if (ret != NULL)
- return DBUS_INTROSPECTABLE (ret);
- else
- return NULL;
-}
-
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * DBusIntrospectableSkeleton:
- *
- * The #DBusIntrospectableSkeleton structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * DBusIntrospectableSkeletonClass:
- * @parent_class: The parent class.
- *
- * Class structure for #DBusIntrospectableSkeleton.
- */
-
-struct _DBusIntrospectableSkeletonPrivate
-{
- GValue *properties;
- GList *changed_properties;
- GSource *changed_properties_idle_source;
- GMainContext *context;
- GMutex lock;
-};
-
-static void
-_dbus_introspectable_skeleton_handle_method_call (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- DBusIntrospectableSkeleton *skeleton = DBUS_INTROSPECTABLE_SKELETON (user_data);
- _ExtendedGDBusMethodInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint num_extra;
- guint n;
- guint signal_id;
- GValue return_value = G_VALUE_INIT;
- info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
- g_assert (info != NULL);
- num_params = g_variant_n_children (parameters);
- num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
- n = 0;
- g_value_init (&paramv[n], TYPE_DBUS_INTROSPECTABLE);
- g_value_set_object (&paramv[n++], skeleton);
- g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
- g_value_set_object (&paramv[n++], invocation);
- if (info->pass_fdlist)
- {
-#ifdef G_OS_UNIX
- g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
- g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
-#else
- g_assert_not_reached ();
-#endif
- }
- g_variant_iter_init (&iter, parameters);
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
- if (arg_info->use_gvariant)
- {
- g_value_init (&paramv[n], G_TYPE_VARIANT);
- g_value_set_variant (&paramv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, TYPE_DBUS_INTROSPECTABLE);
- g_value_init (&return_value, G_TYPE_BOOLEAN);
- g_signal_emitv (paramv, signal_id, 0, &return_value);
- if (!g_value_get_boolean (&return_value))
- 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);
- g_value_unset (&return_value);
- for (n = 0; n < num_params + num_extra; n++)
- g_value_unset (&paramv[n]);
- g_free (paramv);
-}
-
-static GVariant *
-_dbus_introspectable_skeleton_handle_get_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GError **error,
- gpointer user_data)
-{
- DBusIntrospectableSkeleton *skeleton = DBUS_INTROSPECTABLE_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- GVariant *ret;
- ret = NULL;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_introspectable_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- g_value_init (&value, pspec->value_type);
- g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
- g_value_unset (&value);
- }
- return ret;
-}
-
-static gboolean
-_dbus_introspectable_skeleton_handle_set_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GVariant *variant,
- GError **error,
- gpointer user_data)
-{
- DBusIntrospectableSkeleton *skeleton = DBUS_INTROSPECTABLE_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- gboolean ret;
- ret = FALSE;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_introspectable_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- if (info->use_gvariant)
- g_value_set_variant (&value, variant);
- else
- g_dbus_gvariant_to_gvalue (variant, &value);
- g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- g_value_unset (&value);
- ret = TRUE;
- }
- return ret;
-}
-
-static const GDBusInterfaceVTable _dbus_introspectable_skeleton_vtable =
-{
- _dbus_introspectable_skeleton_handle_method_call,
- _dbus_introspectable_skeleton_handle_get_property,
- _dbus_introspectable_skeleton_handle_set_property,
- {NULL}
-};
-
-static GDBusInterfaceInfo *
-dbus_introspectable_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return dbus_introspectable_interface_info ();
-}
-
-static GDBusInterfaceVTable *
-dbus_introspectable_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return (GDBusInterfaceVTable *) &_dbus_introspectable_skeleton_vtable;
-}
-
-static GVariant *
-dbus_introspectable_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
-{
- DBusIntrospectableSkeleton *skeleton = DBUS_INTROSPECTABLE_SKELETON (_skeleton);
-
- GVariantBuilder builder;
- guint n;
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
- if (_dbus_introspectable_interface_info.parent_struct.properties == NULL)
- goto out;
- for (n = 0; _dbus_introspectable_interface_info.parent_struct.properties[n] != NULL; n++)
- {
- GDBusPropertyInfo *info = _dbus_introspectable_interface_info.parent_struct.properties[n];
- if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
- {
- GVariant *value;
- value = _dbus_introspectable_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.freedesktop.DBus.Introspectable", info->name, NULL, skeleton);
- if (value != NULL)
- {
- g_variant_take_ref (value);
- g_variant_builder_add (&builder, "{sv}", info->name, value);
- g_variant_unref (value);
- }
- }
- }
-out:
- return g_variant_builder_end (&builder);
-}
-
-static void
-dbus_introspectable_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
-{
-}
-
-static void dbus_introspectable_skeleton_iface_init (DBusIntrospectableIface *iface);
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (DBusIntrospectableSkeleton, dbus_introspectable_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_ADD_PRIVATE (DBusIntrospectableSkeleton)
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_INTROSPECTABLE, dbus_introspectable_skeleton_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (DBusIntrospectableSkeleton, dbus_introspectable_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_INTROSPECTABLE, dbus_introspectable_skeleton_iface_init));
-
-#endif
-static void
-dbus_introspectable_skeleton_finalize (GObject *object)
-{
- DBusIntrospectableSkeleton *skeleton = DBUS_INTROSPECTABLE_SKELETON (object);
- g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
- if (skeleton->priv->changed_properties_idle_source != NULL)
- g_source_destroy (skeleton->priv->changed_properties_idle_source);
- g_main_context_unref (skeleton->priv->context);
- g_mutex_clear (&skeleton->priv->lock);
- G_OBJECT_CLASS (dbus_introspectable_skeleton_parent_class)->finalize (object);
-}
-
-static void
-dbus_introspectable_skeleton_init (DBusIntrospectableSkeleton *skeleton)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- skeleton->priv = dbus_introspectable_skeleton_get_instance_private (skeleton);
-#else
- skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, TYPE_DBUS_INTROSPECTABLE_SKELETON, DBusIntrospectableSkeletonPrivate);
-#endif
-
- g_mutex_init (&skeleton->priv->lock);
- skeleton->priv->context = g_main_context_ref_thread_default ();
-}
-
-static void
-dbus_introspectable_skeleton_class_init (DBusIntrospectableSkeletonClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusInterfaceSkeletonClass *skeleton_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = dbus_introspectable_skeleton_finalize;
-
- skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
- skeleton_class->get_info = dbus_introspectable_skeleton_dbus_interface_get_info;
- skeleton_class->get_properties = dbus_introspectable_skeleton_dbus_interface_get_properties;
- skeleton_class->flush = dbus_introspectable_skeleton_dbus_interface_flush;
- skeleton_class->get_vtable = dbus_introspectable_skeleton_dbus_interface_get_vtable;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (DBusIntrospectableSkeletonPrivate));
-#endif
-}
-
-static void
-dbus_introspectable_skeleton_iface_init (DBusIntrospectableIface *iface)
-{
-}
-
-/**
- * dbus_introspectable_skeleton_new:
- *
- * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Introspectable.top_of_page">org.freedesktop.DBus.Introspectable</link>.
- *
- * Returns: (transfer full) (type DBusIntrospectableSkeleton): The skeleton object.
- */
-DBusIntrospectable *
-dbus_introspectable_skeleton_new (void)
-{
- return DBUS_INTROSPECTABLE (g_object_new (TYPE_DBUS_INTROSPECTABLE_SKELETON, NULL));
-}
-
-/* ------------------------------------------------------------------------
- * Code for interface org.freedesktop.DBus.Properties
- * ------------------------------------------------------------------------
- */
-
-/**
- * SECTION:DBusProperties
- * @title: DBusProperties
- * @short_description: Generated C code for the org.freedesktop.DBus.Properties D-Bus interface
- *
- * This section contains code for working with the <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link> D-Bus interface in C.
- */
-
-/* ---- Introspection data for org.freedesktop.DBus.Properties ---- */
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_get_IN_ARG_interface =
-{
- {
- -1,
- (gchar *) "interface",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_get_IN_ARG_property =
-{
- {
- -1,
- (gchar *) "property",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_properties_method_info_get_IN_ARG_pointers[] =
-{
- &_dbus_properties_method_info_get_IN_ARG_interface,
- &_dbus_properties_method_info_get_IN_ARG_property,
- NULL
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_get_OUT_ARG_value =
-{
- {
- -1,
- (gchar *) "value",
- (gchar *) "v",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_properties_method_info_get_OUT_ARG_pointers[] =
-{
- &_dbus_properties_method_info_get_OUT_ARG_value,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo _dbus_properties_method_info_get =
-{
- {
- -1,
- (gchar *) "Get",
- (GDBusArgInfo **) &_dbus_properties_method_info_get_IN_ARG_pointers,
- (GDBusArgInfo **) &_dbus_properties_method_info_get_OUT_ARG_pointers,
- NULL
- },
- "handle-get",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_get_all_IN_ARG_interface =
-{
- {
- -1,
- (gchar *) "interface",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_properties_method_info_get_all_IN_ARG_pointers[] =
-{
- &_dbus_properties_method_info_get_all_IN_ARG_interface,
- NULL
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_get_all_OUT_ARG_properties =
-{
- {
- -1,
- (gchar *) "properties",
- (gchar *) "a{sv}",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_properties_method_info_get_all_OUT_ARG_pointers[] =
-{
- &_dbus_properties_method_info_get_all_OUT_ARG_properties,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo _dbus_properties_method_info_get_all =
-{
- {
- -1,
- (gchar *) "GetAll",
- (GDBusArgInfo **) &_dbus_properties_method_info_get_all_IN_ARG_pointers,
- (GDBusArgInfo **) &_dbus_properties_method_info_get_all_OUT_ARG_pointers,
- NULL
- },
- "handle-get-all",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_set_IN_ARG_interface =
-{
- {
- -1,
- (gchar *) "interface",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_set_IN_ARG_property =
-{
- {
- -1,
- (gchar *) "property",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_method_info_set_IN_ARG_value =
-{
- {
- -1,
- (gchar *) "value",
- (gchar *) "v",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_properties_method_info_set_IN_ARG_pointers[] =
-{
- &_dbus_properties_method_info_set_IN_ARG_interface,
- &_dbus_properties_method_info_set_IN_ARG_property,
- &_dbus_properties_method_info_set_IN_ARG_value,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo _dbus_properties_method_info_set =
-{
- {
- -1,
- (gchar *) "Set",
- (GDBusArgInfo **) &_dbus_properties_method_info_set_IN_ARG_pointers,
- NULL,
- NULL
- },
- "handle-set",
- FALSE
-};
-
-static const _ExtendedGDBusMethodInfo * const _dbus_properties_method_info_pointers[] =
-{
- &_dbus_properties_method_info_get,
- &_dbus_properties_method_info_get_all,
- &_dbus_properties_method_info_set,
- NULL
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_signal_info_properties_changed_ARG_interface =
-{
- {
- -1,
- (gchar *) "interface",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_signal_info_properties_changed_ARG_changed_properties =
-{
- {
- -1,
- (gchar *) "changed_properties",
- (gchar *) "a{sv}",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo _dbus_properties_signal_info_properties_changed_ARG_invalidated_properties =
-{
- {
- -1,
- (gchar *) "invalidated_properties",
- (gchar *) "as",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const _dbus_properties_signal_info_properties_changed_ARG_pointers[] =
-{
- &_dbus_properties_signal_info_properties_changed_ARG_interface,
- &_dbus_properties_signal_info_properties_changed_ARG_changed_properties,
- &_dbus_properties_signal_info_properties_changed_ARG_invalidated_properties,
- NULL
-};
-
-static const _ExtendedGDBusSignalInfo _dbus_properties_signal_info_properties_changed =
-{
- {
- -1,
- (gchar *) "PropertiesChanged",
- (GDBusArgInfo **) &_dbus_properties_signal_info_properties_changed_ARG_pointers,
- NULL
- },
- "properties-changed"
-};
-
-static const _ExtendedGDBusSignalInfo * const _dbus_properties_signal_info_pointers[] =
-{
- &_dbus_properties_signal_info_properties_changed,
- NULL
-};
-
-static const _ExtendedGDBusInterfaceInfo _dbus_properties_interface_info =
-{
- {
- -1,
- (gchar *) "org.freedesktop.DBus.Properties",
- (GDBusMethodInfo **) &_dbus_properties_method_info_pointers,
- (GDBusSignalInfo **) &_dbus_properties_signal_info_pointers,
- NULL,
- NULL
- },
- "dbus-properties",
-};
-
-
-/**
- * dbus_properties_interface_info:
- *
- * Gets a machine-readable description of the <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link> D-Bus interface.
- *
- * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
- */
-GDBusInterfaceInfo *
-dbus_properties_interface_info (void)
-{
- return (GDBusInterfaceInfo *) &_dbus_properties_interface_info.parent_struct;
-}
-
-/**
- * dbus_properties_override_properties:
- * @klass: The class structure for a #GObject<!-- -->-derived class.
- * @property_id_begin: The property id to assign to the first overridden property.
- *
- * Overrides all #GObject properties in the #DBusProperties interface for a concrete class.
- * The properties are overridden in the order they are defined.
- *
- * Returns: The last property id.
- */
-guint
-dbus_properties_override_properties (GObjectClass *klass, guint property_id_begin)
-{
- return property_id_begin - 1;
-}
-
-
-
-/**
- * DBusProperties:
- *
- * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link>.
- */
-
-/**
- * DBusPropertiesIface:
- * @parent_iface: The parent interface.
- * @handle_get: Handler for the #DBusProperties::handle-get signal.
- * @handle_get_all: Handler for the #DBusProperties::handle-get-all signal.
- * @handle_set: Handler for the #DBusProperties::handle-set signal.
- * @properties_changed: Handler for the #DBusProperties::properties-changed signal.
- *
- * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link>.
- */
-
-typedef DBusPropertiesIface DBusPropertiesInterface;
-G_DEFINE_INTERFACE (DBusProperties, dbus_properties, G_TYPE_OBJECT);
-
-static void
-dbus_properties_default_init (DBusPropertiesIface *iface)
-{
- /* GObject signals for incoming D-Bus method calls: */
- /**
- * DBusProperties::handle-get:
- * @object: A #DBusProperties.
- * @invocation: A #GDBusMethodInvocation.
- * @arg_interface: Argument passed by remote caller.
- * @arg_property: Argument passed by remote caller.
- *
- * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Get">Get()</link> D-Bus method.
- *
- * 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 dbus_properties_complete_get() 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.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-get",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusPropertiesIface, handle_get),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 3,
- G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING);
-
- /**
- * DBusProperties::handle-get-all:
- * @object: A #DBusProperties.
- * @invocation: A #GDBusMethodInvocation.
- * @arg_interface: Argument passed by remote caller.
- *
- * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.GetAll">GetAll()</link> D-Bus method.
- *
- * 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 dbus_properties_complete_get_all() 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.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-get-all",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusPropertiesIface, handle_get_all),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 2,
- G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
-
- /**
- * DBusProperties::handle-set:
- * @object: A #DBusProperties.
- * @invocation: A #GDBusMethodInvocation.
- * @arg_interface: Argument passed by remote caller.
- * @arg_property: Argument passed by remote caller.
- * @arg_value: Argument passed by remote caller.
- *
- * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Set">Set()</link> D-Bus method.
- *
- * 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 dbus_properties_complete_set() 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.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-set",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusPropertiesIface, handle_set),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 4,
- G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_VARIANT);
-
- /* GObject signals for received D-Bus signals: */
- /**
- * DBusProperties::properties-changed:
- * @object: A #DBusProperties.
- * @arg_interface: Argument.
- * @arg_changed_properties: Argument.
- * @arg_invalidated_properties: Argument.
- *
- * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-freedesktop-DBus-Properties.PropertiesChanged">"PropertiesChanged"</link> is received.
- *
- * 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.
- */
- g_signal_new ("properties-changed",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (DBusPropertiesIface, properties_changed),
- NULL,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_NONE,
- 3, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_STRV);
-
-}
-
-/**
- * dbus_properties_emit_properties_changed:
- * @object: A #DBusProperties.
- * @arg_interface: Argument to pass with the signal.
- * @arg_changed_properties: Argument to pass with the signal.
- * @arg_invalidated_properties: Argument to pass with the signal.
- *
- * Emits the <link linkend="gdbus-signal-org-freedesktop-DBus-Properties.PropertiesChanged">"PropertiesChanged"</link> D-Bus signal.
- */
-void
-dbus_properties_emit_properties_changed (
- DBusProperties *object,
- const gchar *arg_interface,
- GVariant *arg_changed_properties,
- const gchar *const *arg_invalidated_properties)
-{
- g_signal_emit_by_name (object, "properties-changed", arg_interface, arg_changed_properties, arg_invalidated_properties);
-}
-
-/**
- * dbus_properties_call_get:
- * @proxy: A #DBusPropertiesProxy.
- * @arg_interface: Argument to pass with the method invocation.
- * @arg_property: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Get">Get()</link> D-Bus method on @proxy.
- * 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.
- * You can then call dbus_properties_call_get_finish() to get the result of the operation.
- *
- * See dbus_properties_call_get_sync() for the synchronous, blocking version of this method.
- */
-void
-dbus_properties_call_get (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "Get",
- g_variant_new ("(ss)",
- arg_interface,
- arg_property),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * dbus_properties_call_get_finish:
- * @proxy: A #DBusPropertiesProxy.
- * @out_value: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_properties_call_get().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with dbus_properties_call_get().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_properties_call_get_finish (
- DBusProperties *proxy,
- GVariant **out_value,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(@v)",
- out_value);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_properties_call_get_sync:
- * @proxy: A #DBusPropertiesProxy.
- * @arg_interface: Argument to pass with the method invocation.
- * @arg_property: Argument to pass with the method invocation.
- * @out_value: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Get">Get()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See dbus_properties_call_get() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_properties_call_get_sync (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant **out_value,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "Get",
- g_variant_new ("(ss)",
- arg_interface,
- arg_property),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(@v)",
- out_value);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_properties_call_get_all:
- * @proxy: A #DBusPropertiesProxy.
- * @arg_interface: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.GetAll">GetAll()</link> D-Bus method on @proxy.
- * 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.
- * You can then call dbus_properties_call_get_all_finish() to get the result of the operation.
- *
- * See dbus_properties_call_get_all_sync() for the synchronous, blocking version of this method.
- */
-void
-dbus_properties_call_get_all (
- DBusProperties *proxy,
- const gchar *arg_interface,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "GetAll",
- g_variant_new ("(s)",
- arg_interface),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * dbus_properties_call_get_all_finish:
- * @proxy: A #DBusPropertiesProxy.
- * @out_properties: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_properties_call_get_all().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with dbus_properties_call_get_all().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_properties_call_get_all_finish (
- DBusProperties *proxy,
- GVariant **out_properties,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(@a{sv})",
- out_properties);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_properties_call_get_all_sync:
- * @proxy: A #DBusPropertiesProxy.
- * @arg_interface: Argument to pass with the method invocation.
- * @out_properties: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.GetAll">GetAll()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See dbus_properties_call_get_all() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_properties_call_get_all_sync (
- DBusProperties *proxy,
- const gchar *arg_interface,
- GVariant **out_properties,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "GetAll",
- g_variant_new ("(s)",
- arg_interface),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(@a{sv})",
- out_properties);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_properties_call_set:
- * @proxy: A #DBusPropertiesProxy.
- * @arg_interface: Argument to pass with the method invocation.
- * @arg_property: Argument to pass with the method invocation.
- * @arg_value: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Set">Set()</link> D-Bus method on @proxy.
- * 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.
- * You can then call dbus_properties_call_set_finish() to get the result of the operation.
- *
- * See dbus_properties_call_set_sync() for the synchronous, blocking version of this method.
- */
-void
-dbus_properties_call_set (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant *arg_value,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "Set",
- g_variant_new ("(ss@v)",
- arg_interface,
- arg_property,
- arg_value),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * dbus_properties_call_set_finish:
- * @proxy: A #DBusPropertiesProxy.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_properties_call_set().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with dbus_properties_call_set().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_properties_call_set_finish (
- DBusProperties *proxy,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "()");
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_properties_call_set_sync:
- * @proxy: A #DBusPropertiesProxy.
- * @arg_interface: Argument to pass with the method invocation.
- * @arg_property: Argument to pass with the method invocation.
- * @arg_value: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Set">Set()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See dbus_properties_call_set() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-dbus_properties_call_set_sync (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant *arg_value,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "Set",
- g_variant_new ("(ss@v)",
- arg_interface,
- arg_property,
- arg_value),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "()");
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * dbus_properties_complete_get:
- * @object: A #DBusProperties.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @value: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Get">Get()</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.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-dbus_properties_complete_get (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- GVariant *value)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(@v)",
- value));
-}
-
-/**
- * dbus_properties_complete_get_all:
- * @object: A #DBusProperties.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @properties: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.GetAll">GetAll()</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.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-dbus_properties_complete_get_all (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- GVariant *properties)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(@a{sv})",
- properties));
-}
-
-/**
- * dbus_properties_complete_set:
- * @object: A #DBusProperties.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- *
- * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-freedesktop-DBus-Properties.Set">Set()</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.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-dbus_properties_complete_set (
- DBusProperties *object,
- GDBusMethodInvocation *invocation)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("()"));
-}
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * DBusPropertiesProxy:
- *
- * The #DBusPropertiesProxy structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * DBusPropertiesProxyClass:
- * @parent_class: The parent class.
- *
- * Class structure for #DBusPropertiesProxy.
- */
-
-struct _DBusPropertiesProxyPrivate
-{
- GData *qdata;
-};
-
-static void dbus_properties_proxy_iface_init (DBusPropertiesIface *iface);
-
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (DBusPropertiesProxy, dbus_properties_proxy, G_TYPE_DBUS_PROXY,
- G_ADD_PRIVATE (DBusPropertiesProxy)
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PROPERTIES, dbus_properties_proxy_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (DBusPropertiesProxy, dbus_properties_proxy, G_TYPE_DBUS_PROXY,
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PROPERTIES, dbus_properties_proxy_iface_init));
-
-#endif
-static void
-dbus_properties_proxy_finalize (GObject *object)
-{
- DBusPropertiesProxy *proxy = DBUS_PROPERTIES_PROXY (object);
- g_datalist_clear (&proxy->priv->qdata);
- G_OBJECT_CLASS (dbus_properties_proxy_parent_class)->finalize (object);
-}
-
-static void
-dbus_properties_proxy_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-dbus_properties_proxy_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-dbus_properties_proxy_g_signal (GDBusProxy *proxy,
- const gchar *sender_name G_GNUC_UNUSED,
- const gchar *signal_name,
- GVariant *parameters)
-{
- _ExtendedGDBusSignalInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint n;
- guint signal_id;
- info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_dbus_properties_interface_info.parent_struct, signal_name);
- if (info == NULL)
- return;
- num_params = g_variant_n_children (parameters);
- paramv = g_new0 (GValue, num_params + 1);
- g_value_init (&paramv[0], TYPE_DBUS_PROPERTIES);
- g_value_set_object (&paramv[0], proxy);
- g_variant_iter_init (&iter, parameters);
- n = 1;
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
- if (arg_info->use_gvariant)
- {
- g_value_init (&paramv[n], G_TYPE_VARIANT);
- g_value_set_variant (&paramv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, TYPE_DBUS_PROPERTIES);
- g_signal_emitv (paramv, signal_id, 0, NULL);
- for (n = 0; n < num_params + 1; n++)
- g_value_unset (&paramv[n]);
- g_free (paramv);
-}
-
-static void
-dbus_properties_proxy_g_properties_changed (GDBusProxy *_proxy,
- GVariant *changed_properties,
- const gchar *const *invalidated_properties)
-{
- DBusPropertiesProxy *proxy = DBUS_PROPERTIES_PROXY (_proxy);
- guint n;
- const gchar *key;
- GVariantIter *iter;
- _ExtendedGDBusPropertyInfo *info;
- g_variant_get (changed_properties, "a{sv}", &iter);
- while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_properties_interface_info.parent_struct, key);
- g_datalist_remove_data (&proxy->priv->qdata, key);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
- g_variant_iter_free (iter);
- for (n = 0; invalidated_properties[n] != NULL; n++)
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_properties_interface_info.parent_struct, invalidated_properties[n]);
- g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
-}
-
-static void
-dbus_properties_proxy_init (DBusPropertiesProxy *proxy)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- proxy->priv = dbus_properties_proxy_get_instance_private (proxy);
-#else
- proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, TYPE_DBUS_PROPERTIES_PROXY, DBusPropertiesProxyPrivate);
-#endif
-
- g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), dbus_properties_interface_info ());
-}
-
-static void
-dbus_properties_proxy_class_init (DBusPropertiesProxyClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusProxyClass *proxy_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = dbus_properties_proxy_finalize;
- gobject_class->get_property = dbus_properties_proxy_get_property;
- gobject_class->set_property = dbus_properties_proxy_set_property;
-
- proxy_class = G_DBUS_PROXY_CLASS (klass);
- proxy_class->g_signal = dbus_properties_proxy_g_signal;
- proxy_class->g_properties_changed = dbus_properties_proxy_g_properties_changed;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (DBusPropertiesProxyPrivate));
-#endif
-}
-
-static void
-dbus_properties_proxy_iface_init (DBusPropertiesIface *iface)
-{
-}
-
-/**
- * dbus_properties_proxy_new:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link>. See g_dbus_proxy_new() for more details.
- *
- * 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.
- * You can then call dbus_properties_proxy_new_finish() to get the result of the operation.
- *
- * See dbus_properties_proxy_new_sync() for the synchronous, blocking version of this constructor.
- */
-void
-dbus_properties_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (TYPE_DBUS_PROPERTIES_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.freedesktop.DBus.Properties", NULL);
-}
-
-/**
- * dbus_properties_proxy_new_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_properties_proxy_new().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with dbus_properties_proxy_new().
- *
- * Returns: (transfer full) (type DBusPropertiesProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusProperties *
-dbus_properties_proxy_new_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return DBUS_PROPERTIES (ret);
- else
- return NULL;
-}
-
-/**
- * dbus_properties_proxy_new_sync:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link>. See g_dbus_proxy_new_sync() for more details.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See dbus_properties_proxy_new() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type DBusPropertiesProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusProperties *
-dbus_properties_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (TYPE_DBUS_PROPERTIES_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus.Properties", NULL);
- if (ret != NULL)
- return DBUS_PROPERTIES (ret);
- else
- return NULL;
-}
-
-
-/**
- * dbus_properties_proxy_new_for_bus:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Like dbus_properties_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
- *
- * 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.
- * You can then call dbus_properties_proxy_new_for_bus_finish() to get the result of the operation.
- *
- * See dbus_properties_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
- */
-void
-dbus_properties_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (TYPE_DBUS_PROPERTIES_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.freedesktop.DBus.Properties", NULL);
-}
-
-/**
- * dbus_properties_proxy_new_for_bus_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to dbus_properties_proxy_new_for_bus().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with dbus_properties_proxy_new_for_bus().
- *
- * Returns: (transfer full) (type DBusPropertiesProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusProperties *
-dbus_properties_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return DBUS_PROPERTIES (ret);
- else
- return NULL;
-}
-
-/**
- * dbus_properties_proxy_new_for_bus_sync:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Like dbus_properties_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See dbus_properties_proxy_new_for_bus() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type DBusPropertiesProxy): The constructed proxy object or %NULL if @error is set.
- */
-DBusProperties *
-dbus_properties_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (TYPE_DBUS_PROPERTIES_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.DBus.Properties", NULL);
- if (ret != NULL)
- return DBUS_PROPERTIES (ret);
- else
- return NULL;
-}
-
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * DBusPropertiesSkeleton:
- *
- * The #DBusPropertiesSkeleton structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * DBusPropertiesSkeletonClass:
- * @parent_class: The parent class.
- *
- * Class structure for #DBusPropertiesSkeleton.
- */
-
-struct _DBusPropertiesSkeletonPrivate
-{
- GValue *properties;
- GList *changed_properties;
- GSource *changed_properties_idle_source;
- GMainContext *context;
- GMutex lock;
-};
-
-static void
-_dbus_properties_skeleton_handle_method_call (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- DBusPropertiesSkeleton *skeleton = DBUS_PROPERTIES_SKELETON (user_data);
- _ExtendedGDBusMethodInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint num_extra;
- guint n;
- guint signal_id;
- GValue return_value = G_VALUE_INIT;
- info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
- g_assert (info != NULL);
- num_params = g_variant_n_children (parameters);
- num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
- n = 0;
- g_value_init (&paramv[n], TYPE_DBUS_PROPERTIES);
- g_value_set_object (&paramv[n++], skeleton);
- g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
- g_value_set_object (&paramv[n++], invocation);
- if (info->pass_fdlist)
- {
-#ifdef G_OS_UNIX
- g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
- g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
-#else
- g_assert_not_reached ();
-#endif
- }
- g_variant_iter_init (&iter, parameters);
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
- if (arg_info->use_gvariant)
- {
- g_value_init (&paramv[n], G_TYPE_VARIANT);
- g_value_set_variant (&paramv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, TYPE_DBUS_PROPERTIES);
- g_value_init (&return_value, G_TYPE_BOOLEAN);
- g_signal_emitv (paramv, signal_id, 0, &return_value);
- if (!g_value_get_boolean (&return_value))
- 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);
- g_value_unset (&return_value);
- for (n = 0; n < num_params + num_extra; n++)
- g_value_unset (&paramv[n]);
- g_free (paramv);
-}
-
-static GVariant *
-_dbus_properties_skeleton_handle_get_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GError **error,
- gpointer user_data)
-{
- DBusPropertiesSkeleton *skeleton = DBUS_PROPERTIES_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- GVariant *ret;
- ret = NULL;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_properties_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- g_value_init (&value, pspec->value_type);
- g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
- g_value_unset (&value);
- }
- return ret;
-}
-
-static gboolean
-_dbus_properties_skeleton_handle_set_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GVariant *variant,
- GError **error,
- gpointer user_data)
-{
- DBusPropertiesSkeleton *skeleton = DBUS_PROPERTIES_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- gboolean ret;
- ret = FALSE;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_dbus_properties_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- if (info->use_gvariant)
- g_value_set_variant (&value, variant);
- else
- g_dbus_gvariant_to_gvalue (variant, &value);
- g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- g_value_unset (&value);
- ret = TRUE;
- }
- return ret;
-}
-
-static const GDBusInterfaceVTable _dbus_properties_skeleton_vtable =
-{
- _dbus_properties_skeleton_handle_method_call,
- _dbus_properties_skeleton_handle_get_property,
- _dbus_properties_skeleton_handle_set_property,
- {NULL}
-};
-
-static GDBusInterfaceInfo *
-dbus_properties_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return dbus_properties_interface_info ();
-}
-
-static GDBusInterfaceVTable *
-dbus_properties_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return (GDBusInterfaceVTable *) &_dbus_properties_skeleton_vtable;
-}
-
-static GVariant *
-dbus_properties_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
-{
- DBusPropertiesSkeleton *skeleton = DBUS_PROPERTIES_SKELETON (_skeleton);
-
- GVariantBuilder builder;
- guint n;
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
- if (_dbus_properties_interface_info.parent_struct.properties == NULL)
- goto out;
- for (n = 0; _dbus_properties_interface_info.parent_struct.properties[n] != NULL; n++)
- {
- GDBusPropertyInfo *info = _dbus_properties_interface_info.parent_struct.properties[n];
- if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
- {
- GVariant *value;
- value = _dbus_properties_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.freedesktop.DBus.Properties", info->name, NULL, skeleton);
- if (value != NULL)
- {
- g_variant_take_ref (value);
- g_variant_builder_add (&builder, "{sv}", info->name, value);
- g_variant_unref (value);
- }
- }
- }
-out:
- return g_variant_builder_end (&builder);
-}
-
-static void
-dbus_properties_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
-{
-}
-
-static void
-_dbus_properties_on_signal_properties_changed (
- DBusProperties *object,
- const gchar *arg_interface,
- GVariant *arg_changed_properties,
- const gchar *const *arg_invalidated_properties)
-{
- DBusPropertiesSkeleton *skeleton = DBUS_PROPERTIES_SKELETON (object);
-
- GList *connections, *l;
- GVariant *signal_variant;
- connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
-
- signal_variant = g_variant_ref_sink (g_variant_new ("(s@a{sv}^as)",
- arg_interface,
- arg_changed_properties,
- arg_invalidated_properties));
- for (l = connections; l != NULL; l = l->next)
- {
- GDBusConnection *connection = l->data;
- g_dbus_connection_emit_signal (connection,
- NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.DBus.Properties", "PropertiesChanged",
- signal_variant, NULL);
- }
- g_variant_unref (signal_variant);
- g_list_free_full (connections, g_object_unref);
-}
-
-static void dbus_properties_skeleton_iface_init (DBusPropertiesIface *iface);
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (DBusPropertiesSkeleton, dbus_properties_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_ADD_PRIVATE (DBusPropertiesSkeleton)
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PROPERTIES, dbus_properties_skeleton_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (DBusPropertiesSkeleton, dbus_properties_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_IMPLEMENT_INTERFACE (TYPE_DBUS_PROPERTIES, dbus_properties_skeleton_iface_init));
-
-#endif
-static void
-dbus_properties_skeleton_finalize (GObject *object)
-{
- DBusPropertiesSkeleton *skeleton = DBUS_PROPERTIES_SKELETON (object);
- g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
- if (skeleton->priv->changed_properties_idle_source != NULL)
- g_source_destroy (skeleton->priv->changed_properties_idle_source);
- g_main_context_unref (skeleton->priv->context);
- g_mutex_clear (&skeleton->priv->lock);
- G_OBJECT_CLASS (dbus_properties_skeleton_parent_class)->finalize (object);
-}
-
-static void
-dbus_properties_skeleton_init (DBusPropertiesSkeleton *skeleton)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- skeleton->priv = dbus_properties_skeleton_get_instance_private (skeleton);
-#else
- skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, TYPE_DBUS_PROPERTIES_SKELETON, DBusPropertiesSkeletonPrivate);
-#endif
-
- g_mutex_init (&skeleton->priv->lock);
- skeleton->priv->context = g_main_context_ref_thread_default ();
-}
-
-static void
-dbus_properties_skeleton_class_init (DBusPropertiesSkeletonClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusInterfaceSkeletonClass *skeleton_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = dbus_properties_skeleton_finalize;
-
- skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
- skeleton_class->get_info = dbus_properties_skeleton_dbus_interface_get_info;
- skeleton_class->get_properties = dbus_properties_skeleton_dbus_interface_get_properties;
- skeleton_class->flush = dbus_properties_skeleton_dbus_interface_flush;
- skeleton_class->get_vtable = dbus_properties_skeleton_dbus_interface_get_vtable;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (DBusPropertiesSkeletonPrivate));
-#endif
-}
-
-static void
-dbus_properties_skeleton_iface_init (DBusPropertiesIface *iface)
-{
- iface->properties_changed = _dbus_properties_on_signal_properties_changed;
-}
-
-/**
- * dbus_properties_skeleton_new:
- *
- * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-DBus-Properties.top_of_page">org.freedesktop.DBus.Properties</link>.
- *
- * Returns: (transfer full) (type DBusPropertiesSkeleton): The skeleton object.
- */
-DBusProperties *
-dbus_properties_skeleton_new (void)
-{
- return DBUS_PROPERTIES (g_object_new (TYPE_DBUS_PROPERTIES_SKELETON, NULL));
-}
-
-/* ------------------------------------------------------------------------
* Code for interface org.freedesktop.hostname1
* ------------------------------------------------------------------------
*/
@@ -6564,3 +3172,567 @@ hostname1_skeleton_new (void)
return HOSTNAME1 (g_object_new (TYPE_HOSTNAME1_SKELETON, NULL));
}
+/* ------------------------------------------------------------------------
+ * Code for Object, ObjectProxy and ObjectSkeleton
+ * ------------------------------------------------------------------------
+ */
+
+/**
+ * SECTION:Object
+ * @title: Object
+ * @short_description: Specialized GDBusObject types
+ *
+ * This section contains the #Object, #ObjectProxy, and #ObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.
+ */
+
+/**
+ * Object:
+ *
+ * The #Object type is a specialized container of interfaces.
+ */
+
+/**
+ * ObjectIface:
+ * @parent_iface: The parent interface.
+ *
+ * Virtual table for the #Object interface.
+ */
+
+typedef ObjectIface ObjectInterface;
+G_DEFINE_INTERFACE_WITH_CODE (Object, object, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT));
+
+static void
+object_default_init (ObjectIface *iface)
+{
+ /**
+ * Object:hostname1:
+ *
+ * The #Hostname1 instance corresponding to the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link>, if any.
+ *
+ * Connect to the #GObject::notify signal to get informed of property changes.
+ */
+ g_object_interface_install_property (iface, g_param_spec_object ("hostname1", "hostname1", "hostname1", TYPE_HOSTNAME1, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS));
+
+}
+
+/**
+ * object_get_hostname1:
+ * @object: A #Object.
+ *
+ * Gets the #Hostname1 instance for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link> on @object, if any.
+ *
+ * Returns: (transfer full): A #Hostname1 that must be freed with g_object_unref() or %NULL if @object does not implement the interface.
+ */
+Hostname1 *object_get_hostname1 (Object *object)
+{
+ GDBusInterface *ret;
+ ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1");
+ if (ret == NULL)
+ return NULL;
+ return HOSTNAME1 (ret);
+}
+
+
+/**
+ * object_peek_hostname1: (skip)
+ * @object: A #Object.
+ *
+ * Like object_get_hostname1() but doesn't increase the reference count on the returned object.
+ *
+ * <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>
+ *
+ * Returns: (transfer none): A #Hostname1 or %NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object.
+ */
+Hostname1 *object_peek_hostname1 (Object *object)
+{
+ GDBusInterface *ret;
+ ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1");
+ if (ret == NULL)
+ return NULL;
+ g_object_unref (ret);
+ return HOSTNAME1 (ret);
+}
+
+
+static void
+object_notify (GDBusObject *object, GDBusInterface *interface)
+{
+ _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface);
+ /* info can be NULL if the other end is using a D-Bus interface we don't know
+ * anything about, for example old generated code in this process talking to
+ * newer generated code in the other process. */
+ if (info != NULL)
+ g_object_notify (G_OBJECT (object), info->hyphen_name);
+}
+
+/**
+ * ObjectProxy:
+ *
+ * The #ObjectProxy structure contains only private data and should only be accessed using the provided API.
+ */
+
+/**
+ * ObjectProxyClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #ObjectProxy.
+ */
+
+static void
+object_proxy__object_iface_init (ObjectIface *iface G_GNUC_UNUSED)
+{
+}
+
+static void
+object_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface)
+{
+ iface->interface_added = object_notify;
+ iface->interface_removed = object_notify;
+}
+
+
+G_DEFINE_TYPE_WITH_CODE (ObjectProxy, object_proxy, G_TYPE_DBUS_OBJECT_PROXY,
+ G_IMPLEMENT_INTERFACE (TYPE_OBJECT, object_proxy__object_iface_init)
+ G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, object_proxy__g_dbus_object_iface_init));
+
+static void
+object_proxy_init (ObjectProxy *object G_GNUC_UNUSED)
+{
+}
+
+static void
+object_proxy_set_property (GObject *gobject,
+ guint prop_id,
+ const GValue *value G_GNUC_UNUSED,
+ GParamSpec *pspec)
+{
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+}
+
+static void
+object_proxy_get_property (GObject *gobject,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ ObjectProxy *object = OBJECT_PROXY (gobject);
+ GDBusInterface *interface;
+
+ switch (prop_id)
+ {
+ case 1:
+ interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1");
+ g_value_take_object (value, interface);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+object_proxy_class_init (ObjectProxyClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ gobject_class->set_property = object_proxy_set_property;
+ gobject_class->get_property = object_proxy_get_property;
+
+ g_object_class_override_property (gobject_class, 1, "hostname1");
+}
+
+/**
+ * object_proxy_new:
+ * @connection: A #GDBusConnection.
+ * @object_path: An object path.
+ *
+ * Creates a new proxy object.
+ *
+ * Returns: (transfer full): The proxy object.
+ */
+ObjectProxy *
+object_proxy_new (GDBusConnection *connection,
+ const gchar *object_path)
+{
+ g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL);
+ g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
+ return OBJECT_PROXY (g_object_new (TYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL));
+}
+
+/**
+ * ObjectSkeleton:
+ *
+ * The #ObjectSkeleton structure contains only private data and should only be accessed using the provided API.
+ */
+
+/**
+ * ObjectSkeletonClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #ObjectSkeleton.
+ */
+
+static void
+object_skeleton__object_iface_init (ObjectIface *iface G_GNUC_UNUSED)
+{
+}
+
+
+static void
+object_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface)
+{
+ iface->interface_added = object_notify;
+ iface->interface_removed = object_notify;
+}
+
+G_DEFINE_TYPE_WITH_CODE (ObjectSkeleton, object_skeleton, G_TYPE_DBUS_OBJECT_SKELETON,
+ G_IMPLEMENT_INTERFACE (TYPE_OBJECT, object_skeleton__object_iface_init)
+ G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, object_skeleton__g_dbus_object_iface_init));
+
+static void
+object_skeleton_init (ObjectSkeleton *object G_GNUC_UNUSED)
+{
+}
+
+static void
+object_skeleton_set_property (GObject *gobject,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ ObjectSkeleton *object = OBJECT_SKELETON (gobject);
+ GDBusInterfaceSkeleton *interface;
+
+ switch (prop_id)
+ {
+ case 1:
+ interface = g_value_get_object (value);
+ if (interface != NULL)
+ {
+ g_warn_if_fail (IS_HOSTNAME1 (interface));
+ g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface);
+ }
+ else
+ {
+ g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "org.freedesktop.hostname1");
+ }
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+object_skeleton_get_property (GObject *gobject,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ ObjectSkeleton *object = OBJECT_SKELETON (gobject);
+ GDBusInterface *interface;
+
+ switch (prop_id)
+ {
+ case 1:
+ interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "org.freedesktop.hostname1");
+ g_value_take_object (value, interface);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+object_skeleton_class_init (ObjectSkeletonClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ gobject_class->set_property = object_skeleton_set_property;
+ gobject_class->get_property = object_skeleton_get_property;
+
+ g_object_class_override_property (gobject_class, 1, "hostname1");
+}
+
+/**
+ * object_skeleton_new:
+ * @object_path: An object path.
+ *
+ * Creates a new skeleton object.
+ *
+ * Returns: (transfer full): The skeleton object.
+ */
+ObjectSkeleton *
+object_skeleton_new (const gchar *object_path)
+{
+ g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);
+ return OBJECT_SKELETON (g_object_new (TYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL));
+}
+
+/**
+ * object_skeleton_set_hostname1:
+ * @object: A #ObjectSkeleton.
+ * @interface_: (allow-none): A #Hostname1 or %NULL to clear the interface.
+ *
+ * Sets the #Hostname1 instance for the D-Bus interface <link linkend="gdbus-interface-org-freedesktop-hostname1.top_of_page">org.freedesktop.hostname1</link> on @object.
+ */
+void object_skeleton_set_hostname1 (ObjectSkeleton *object, Hostname1 *interface_)
+{
+ g_object_set (G_OBJECT (object), "hostname1", interface_, NULL);
+}
+
+
+/* ------------------------------------------------------------------------
+ * Code for ObjectManager client
+ * ------------------------------------------------------------------------
+ */
+
+/**
+ * SECTION:ObjectManagerClient
+ * @title: ObjectManagerClient
+ * @short_description: Generated GDBusObjectManagerClient type
+ *
+ * This section contains a #GDBusObjectManagerClient that uses object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc.
+ */
+
+/**
+ * ObjectManagerClient:
+ *
+ * The #ObjectManagerClient structure contains only private data and should only be accessed using the provided API.
+ */
+
+/**
+ * ObjectManagerClientClass:
+ * @parent_class: The parent class.
+ *
+ * Class structure for #ObjectManagerClient.
+ */
+
+G_DEFINE_TYPE (ObjectManagerClient, object_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT);
+
+static void
+object_manager_client_init (ObjectManagerClient *manager G_GNUC_UNUSED)
+{
+}
+
+static void
+object_manager_client_class_init (ObjectManagerClientClass *klass G_GNUC_UNUSED)
+{
+}
+
+/**
+ * object_manager_client_get_proxy_type:
+ * @manager: A #GDBusObjectManagerClient.
+ * @object_path: The object path of the remote object (unused).
+ * @interface_name: (allow-none): Interface name of the remote object or %NULL to get the object proxy #GType.
+ * @user_data: User data (unused).
+ *
+ * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy<!-- -->- and #GDBusProxy<!-- -->-derived types.
+ *
+ * Returns: A #GDBusProxy<!-- -->-derived #GType if @interface_name is not %NULL, otherwise the #GType for #ObjectProxy.
+ */
+GType
+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)
+{
+ static gsize once_init_value = 0;
+ static GHashTable *lookup_hash;
+ GType ret;
+
+ if (interface_name == NULL)
+ return TYPE_OBJECT_PROXY;
+ if (g_once_init_enter (&once_init_value))
+ {
+ lookup_hash = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (lookup_hash, (gpointer) "org.freedesktop.hostname1", GSIZE_TO_POINTER (TYPE_HOSTNAME1_PROXY));
+ g_once_init_leave (&once_init_value, 1);
+ }
+ ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name));
+ if (ret == (GType) 0)
+ ret = G_TYPE_DBUS_PROXY;
+ return ret;
+}
+
+/**
+ * object_manager_client_new:
+ * @connection: A #GDBusConnection.
+ * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
+ * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
+ * @user_data: User data to pass to @callback.
+ *
+ * Asynchronously creates #GDBusObjectManagerClient using object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details.
+ *
+ * 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.
+ * You can then call object_manager_client_new_finish() to get the result of the operation.
+ *
+ * See object_manager_client_new_sync() for the synchronous, blocking version of this constructor.
+ */
+void
+object_manager_client_new (
+ GDBusConnection *connection,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ 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);
+}
+
+/**
+ * object_manager_client_new_finish:
+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to object_manager_client_new().
+ * @error: Return location for error or %NULL
+ *
+ * Finishes an operation started with object_manager_client_new().
+ *
+ * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
+ */
+GDBusObjectManager *
+object_manager_client_new_finish (
+ GAsyncResult *res,
+ GError **error)
+{
+ GObject *ret;
+ GObject *source_object;
+ source_object = g_async_result_get_source_object (res);
+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
+ g_object_unref (source_object);
+ if (ret != NULL)
+ return G_DBUS_OBJECT_MANAGER (ret);
+ else
+ return NULL;
+}
+
+/**
+ * object_manager_client_new_sync:
+ * @connection: A #GDBusConnection.
+ * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
+ * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL
+ *
+ * Synchronously creates #GDBusObjectManagerClient using object_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details.
+ *
+ * The calling thread is blocked until a reply is received.
+ *
+ * See object_manager_client_new() for the asynchronous version of this constructor.
+ *
+ * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
+ */
+GDBusObjectManager *
+object_manager_client_new_sync (
+ GDBusConnection *connection,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GInitable *ret;
+ 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);
+ if (ret != NULL)
+ return G_DBUS_OBJECT_MANAGER (ret);
+ else
+ return NULL;
+}
+
+
+/**
+ * object_manager_client_new_for_bus:
+ * @bus_type: A #GBusType.
+ * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
+ * @name: A bus name (well-known or unique).
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
+ * @user_data: User data to pass to @callback.
+ *
+ * Like object_manager_client_new() but takes a #GBusType instead of a #GDBusConnection.
+ *
+ * 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.
+ * You can then call object_manager_client_new_for_bus_finish() to get the result of the operation.
+ *
+ * See object_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor.
+ */
+void
+object_manager_client_new_for_bus (
+ GBusType bus_type,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ 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);
+}
+
+/**
+ * object_manager_client_new_for_bus_finish:
+ * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to object_manager_client_new_for_bus().
+ * @error: Return location for error or %NULL
+ *
+ * Finishes an operation started with object_manager_client_new_for_bus().
+ *
+ * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
+ */
+GDBusObjectManager *
+object_manager_client_new_for_bus_finish (
+ GAsyncResult *res,
+ GError **error)
+{
+ GObject *ret;
+ GObject *source_object;
+ source_object = g_async_result_get_source_object (res);
+ ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
+ g_object_unref (source_object);
+ if (ret != NULL)
+ return G_DBUS_OBJECT_MANAGER (ret);
+ else
+ return NULL;
+}
+
+/**
+ * object_manager_client_new_for_bus_sync:
+ * @bus_type: A #GBusType.
+ * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.
+ * @name: A bus name (well-known or unique).
+ * @object_path: An object path.
+ * @cancellable: (allow-none): A #GCancellable or %NULL.
+ * @error: Return location for error or %NULL
+ *
+ * Like object_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection.
+ *
+ * The calling thread is blocked until a reply is received.
+ *
+ * See object_manager_client_new_for_bus() for the asynchronous version of this constructor.
+ *
+ * Returns: (transfer full) (type ObjectManagerClient): The constructed object manager client or %NULL if @error is set.
+ */
+GDBusObjectManager *
+object_manager_client_new_for_bus_sync (
+ GBusType bus_type,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GError **error)
+{
+ GInitable *ret;
+ 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);
+ if (ret != NULL)
+ return G_DBUS_OBJECT_MANAGER (ret);
+ else
+ return NULL;
+}
+
+
diff --git a/src/interfaces/hostnamed/hostnamed-gen.h b/src/interfaces/hostnamed/hostnamed-gen.h
index cf049f5..a7b6076 100644
--- a/src/interfaces/hostnamed/hostnamed-gen.h
+++ b/src/interfaces/hostnamed/hostnamed-gen.h
@@ -13,574 +13,6 @@ G_BEGIN_DECLS
/* ------------------------------------------------------------------------ */
-/* Declarations for org.freedesktop.DBus.Peer */
-
-#define TYPE_DBUS_PEER (dbus_peer_get_type ())
-#define DBUS_PEER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_PEER, DBusPeer))
-#define IS_DBUS_PEER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_PEER))
-#define DBUS_PEER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_DBUS_PEER, DBusPeerIface))
-
-struct _DBusPeer;
-typedef struct _DBusPeer DBusPeer;
-typedef struct _DBusPeerIface DBusPeerIface;
-
-struct _DBusPeerIface
-{
- GTypeInterface parent_iface;
-
- gboolean (*handle_get_machine_id) (
- DBusPeer *object,
- GDBusMethodInvocation *invocation);
-
- gboolean (*handle_ping) (
- DBusPeer *object,
- GDBusMethodInvocation *invocation);
-
-};
-
-GType dbus_peer_get_type (void) G_GNUC_CONST;
-
-GDBusInterfaceInfo *dbus_peer_interface_info (void);
-guint dbus_peer_override_properties (GObjectClass *klass, guint property_id_begin);
-
-
-/* D-Bus method call completion functions: */
-void dbus_peer_complete_ping (
- DBusPeer *object,
- GDBusMethodInvocation *invocation);
-
-void dbus_peer_complete_get_machine_id (
- DBusPeer *object,
- GDBusMethodInvocation *invocation,
- const gchar *machine_uuid);
-
-
-
-/* D-Bus method calls: */
-void dbus_peer_call_ping (
- DBusPeer *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean dbus_peer_call_ping_finish (
- DBusPeer *proxy,
- GAsyncResult *res,
- GError **error);
-
-gboolean dbus_peer_call_ping_sync (
- DBusPeer *proxy,
- GCancellable *cancellable,
- GError **error);
-
-void dbus_peer_call_get_machine_id (
- DBusPeer *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean dbus_peer_call_get_machine_id_finish (
- DBusPeer *proxy,
- gchar **out_machine_uuid,
- GAsyncResult *res,
- GError **error);
-
-gboolean dbus_peer_call_get_machine_id_sync (
- DBusPeer *proxy,
- gchar **out_machine_uuid,
- GCancellable *cancellable,
- GError **error);
-
-
-
-/* ---- */
-
-#define TYPE_DBUS_PEER_PROXY (dbus_peer_proxy_get_type ())
-#define DBUS_PEER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_PEER_PROXY, DBusPeerProxy))
-#define DBUS_PEER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DBUS_PEER_PROXY, DBusPeerProxyClass))
-#define DBUS_PEER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DBUS_PEER_PROXY, DBusPeerProxyClass))
-#define IS_DBUS_PEER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_PEER_PROXY))
-#define IS_DBUS_PEER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DBUS_PEER_PROXY))
-
-typedef struct _DBusPeerProxy DBusPeerProxy;
-typedef struct _DBusPeerProxyClass DBusPeerProxyClass;
-typedef struct _DBusPeerProxyPrivate DBusPeerProxyPrivate;
-
-struct _DBusPeerProxy
-{
- /*< private >*/
- GDBusProxy parent_instance;
- DBusPeerProxyPrivate *priv;
-};
-
-struct _DBusPeerProxyClass
-{
- GDBusProxyClass parent_class;
-};
-
-GType dbus_peer_proxy_get_type (void) G_GNUC_CONST;
-
-void dbus_peer_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-DBusPeer *dbus_peer_proxy_new_finish (
- GAsyncResult *res,
- GError **error);
-DBusPeer *dbus_peer_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-void dbus_peer_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-DBusPeer *dbus_peer_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error);
-DBusPeer *dbus_peer_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-
-/* ---- */
-
-#define TYPE_DBUS_PEER_SKELETON (dbus_peer_skeleton_get_type ())
-#define DBUS_PEER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_PEER_SKELETON, DBusPeerSkeleton))
-#define DBUS_PEER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DBUS_PEER_SKELETON, DBusPeerSkeletonClass))
-#define DBUS_PEER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DBUS_PEER_SKELETON, DBusPeerSkeletonClass))
-#define IS_DBUS_PEER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_PEER_SKELETON))
-#define IS_DBUS_PEER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DBUS_PEER_SKELETON))
-
-typedef struct _DBusPeerSkeleton DBusPeerSkeleton;
-typedef struct _DBusPeerSkeletonClass DBusPeerSkeletonClass;
-typedef struct _DBusPeerSkeletonPrivate DBusPeerSkeletonPrivate;
-
-struct _DBusPeerSkeleton
-{
- /*< private >*/
- GDBusInterfaceSkeleton parent_instance;
- DBusPeerSkeletonPrivate *priv;
-};
-
-struct _DBusPeerSkeletonClass
-{
- GDBusInterfaceSkeletonClass parent_class;
-};
-
-GType dbus_peer_skeleton_get_type (void) G_GNUC_CONST;
-
-DBusPeer *dbus_peer_skeleton_new (void);
-
-
-/* ------------------------------------------------------------------------ */
-/* Declarations for org.freedesktop.DBus.Introspectable */
-
-#define TYPE_DBUS_INTROSPECTABLE (dbus_introspectable_get_type ())
-#define DBUS_INTROSPECTABLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_INTROSPECTABLE, DBusIntrospectable))
-#define IS_DBUS_INTROSPECTABLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_INTROSPECTABLE))
-#define DBUS_INTROSPECTABLE_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_DBUS_INTROSPECTABLE, DBusIntrospectableIface))
-
-struct _DBusIntrospectable;
-typedef struct _DBusIntrospectable DBusIntrospectable;
-typedef struct _DBusIntrospectableIface DBusIntrospectableIface;
-
-struct _DBusIntrospectableIface
-{
- GTypeInterface parent_iface;
-
- gboolean (*handle_introspect) (
- DBusIntrospectable *object,
- GDBusMethodInvocation *invocation);
-
-};
-
-GType dbus_introspectable_get_type (void) G_GNUC_CONST;
-
-GDBusInterfaceInfo *dbus_introspectable_interface_info (void);
-guint dbus_introspectable_override_properties (GObjectClass *klass, guint property_id_begin);
-
-
-/* D-Bus method call completion functions: */
-void dbus_introspectable_complete_introspect (
- DBusIntrospectable *object,
- GDBusMethodInvocation *invocation,
- const gchar *data);
-
-
-
-/* D-Bus method calls: */
-void dbus_introspectable_call_introspect (
- DBusIntrospectable *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean dbus_introspectable_call_introspect_finish (
- DBusIntrospectable *proxy,
- gchar **out_data,
- GAsyncResult *res,
- GError **error);
-
-gboolean dbus_introspectable_call_introspect_sync (
- DBusIntrospectable *proxy,
- gchar **out_data,
- GCancellable *cancellable,
- GError **error);
-
-
-
-/* ---- */
-
-#define TYPE_DBUS_INTROSPECTABLE_PROXY (dbus_introspectable_proxy_get_type ())
-#define DBUS_INTROSPECTABLE_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_INTROSPECTABLE_PROXY, DBusIntrospectableProxy))
-#define DBUS_INTROSPECTABLE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DBUS_INTROSPECTABLE_PROXY, DBusIntrospectableProxyClass))
-#define DBUS_INTROSPECTABLE_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DBUS_INTROSPECTABLE_PROXY, DBusIntrospectableProxyClass))
-#define IS_DBUS_INTROSPECTABLE_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_INTROSPECTABLE_PROXY))
-#define IS_DBUS_INTROSPECTABLE_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DBUS_INTROSPECTABLE_PROXY))
-
-typedef struct _DBusIntrospectableProxy DBusIntrospectableProxy;
-typedef struct _DBusIntrospectableProxyClass DBusIntrospectableProxyClass;
-typedef struct _DBusIntrospectableProxyPrivate DBusIntrospectableProxyPrivate;
-
-struct _DBusIntrospectableProxy
-{
- /*< private >*/
- GDBusProxy parent_instance;
- DBusIntrospectableProxyPrivate *priv;
-};
-
-struct _DBusIntrospectableProxyClass
-{
- GDBusProxyClass parent_class;
-};
-
-GType dbus_introspectable_proxy_get_type (void) G_GNUC_CONST;
-
-void dbus_introspectable_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-DBusIntrospectable *dbus_introspectable_proxy_new_finish (
- GAsyncResult *res,
- GError **error);
-DBusIntrospectable *dbus_introspectable_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-void dbus_introspectable_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-DBusIntrospectable *dbus_introspectable_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error);
-DBusIntrospectable *dbus_introspectable_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-
-/* ---- */
-
-#define TYPE_DBUS_INTROSPECTABLE_SKELETON (dbus_introspectable_skeleton_get_type ())
-#define DBUS_INTROSPECTABLE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_INTROSPECTABLE_SKELETON, DBusIntrospectableSkeleton))
-#define DBUS_INTROSPECTABLE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DBUS_INTROSPECTABLE_SKELETON, DBusIntrospectableSkeletonClass))
-#define DBUS_INTROSPECTABLE_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DBUS_INTROSPECTABLE_SKELETON, DBusIntrospectableSkeletonClass))
-#define IS_DBUS_INTROSPECTABLE_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_INTROSPECTABLE_SKELETON))
-#define IS_DBUS_INTROSPECTABLE_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DBUS_INTROSPECTABLE_SKELETON))
-
-typedef struct _DBusIntrospectableSkeleton DBusIntrospectableSkeleton;
-typedef struct _DBusIntrospectableSkeletonClass DBusIntrospectableSkeletonClass;
-typedef struct _DBusIntrospectableSkeletonPrivate DBusIntrospectableSkeletonPrivate;
-
-struct _DBusIntrospectableSkeleton
-{
- /*< private >*/
- GDBusInterfaceSkeleton parent_instance;
- DBusIntrospectableSkeletonPrivate *priv;
-};
-
-struct _DBusIntrospectableSkeletonClass
-{
- GDBusInterfaceSkeletonClass parent_class;
-};
-
-GType dbus_introspectable_skeleton_get_type (void) G_GNUC_CONST;
-
-DBusIntrospectable *dbus_introspectable_skeleton_new (void);
-
-
-/* ------------------------------------------------------------------------ */
-/* Declarations for org.freedesktop.DBus.Properties */
-
-#define TYPE_DBUS_PROPERTIES (dbus_properties_get_type ())
-#define DBUS_PROPERTIES(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_PROPERTIES, DBusProperties))
-#define IS_DBUS_PROPERTIES(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_PROPERTIES))
-#define DBUS_PROPERTIES_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_DBUS_PROPERTIES, DBusPropertiesIface))
-
-struct _DBusProperties;
-typedef struct _DBusProperties DBusProperties;
-typedef struct _DBusPropertiesIface DBusPropertiesIface;
-
-struct _DBusPropertiesIface
-{
- GTypeInterface parent_iface;
-
-
- gboolean (*handle_get) (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- const gchar *arg_interface,
- const gchar *arg_property);
-
- gboolean (*handle_get_all) (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- const gchar *arg_interface);
-
- gboolean (*handle_set) (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant *arg_value);
-
- void (*properties_changed) (
- DBusProperties *object,
- const gchar *arg_interface,
- GVariant *arg_changed_properties,
- const gchar *const *arg_invalidated_properties);
-
-};
-
-GType dbus_properties_get_type (void) G_GNUC_CONST;
-
-GDBusInterfaceInfo *dbus_properties_interface_info (void);
-guint dbus_properties_override_properties (GObjectClass *klass, guint property_id_begin);
-
-
-/* D-Bus method call completion functions: */
-void dbus_properties_complete_get (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- GVariant *value);
-
-void dbus_properties_complete_get_all (
- DBusProperties *object,
- GDBusMethodInvocation *invocation,
- GVariant *properties);
-
-void dbus_properties_complete_set (
- DBusProperties *object,
- GDBusMethodInvocation *invocation);
-
-
-
-/* D-Bus signal emissions functions: */
-void dbus_properties_emit_properties_changed (
- DBusProperties *object,
- const gchar *arg_interface,
- GVariant *arg_changed_properties,
- const gchar *const *arg_invalidated_properties);
-
-
-
-/* D-Bus method calls: */
-void dbus_properties_call_get (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean dbus_properties_call_get_finish (
- DBusProperties *proxy,
- GVariant **out_value,
- GAsyncResult *res,
- GError **error);
-
-gboolean dbus_properties_call_get_sync (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant **out_value,
- GCancellable *cancellable,
- GError **error);
-
-void dbus_properties_call_get_all (
- DBusProperties *proxy,
- const gchar *arg_interface,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean dbus_properties_call_get_all_finish (
- DBusProperties *proxy,
- GVariant **out_properties,
- GAsyncResult *res,
- GError **error);
-
-gboolean dbus_properties_call_get_all_sync (
- DBusProperties *proxy,
- const gchar *arg_interface,
- GVariant **out_properties,
- GCancellable *cancellable,
- GError **error);
-
-void dbus_properties_call_set (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant *arg_value,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean dbus_properties_call_set_finish (
- DBusProperties *proxy,
- GAsyncResult *res,
- GError **error);
-
-gboolean dbus_properties_call_set_sync (
- DBusProperties *proxy,
- const gchar *arg_interface,
- const gchar *arg_property,
- GVariant *arg_value,
- GCancellable *cancellable,
- GError **error);
-
-
-
-/* ---- */
-
-#define TYPE_DBUS_PROPERTIES_PROXY (dbus_properties_proxy_get_type ())
-#define DBUS_PROPERTIES_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_PROPERTIES_PROXY, DBusPropertiesProxy))
-#define DBUS_PROPERTIES_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DBUS_PROPERTIES_PROXY, DBusPropertiesProxyClass))
-#define DBUS_PROPERTIES_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DBUS_PROPERTIES_PROXY, DBusPropertiesProxyClass))
-#define IS_DBUS_PROPERTIES_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_PROPERTIES_PROXY))
-#define IS_DBUS_PROPERTIES_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DBUS_PROPERTIES_PROXY))
-
-typedef struct _DBusPropertiesProxy DBusPropertiesProxy;
-typedef struct _DBusPropertiesProxyClass DBusPropertiesProxyClass;
-typedef struct _DBusPropertiesProxyPrivate DBusPropertiesProxyPrivate;
-
-struct _DBusPropertiesProxy
-{
- /*< private >*/
- GDBusProxy parent_instance;
- DBusPropertiesProxyPrivate *priv;
-};
-
-struct _DBusPropertiesProxyClass
-{
- GDBusProxyClass parent_class;
-};
-
-GType dbus_properties_proxy_get_type (void) G_GNUC_CONST;
-
-void dbus_properties_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-DBusProperties *dbus_properties_proxy_new_finish (
- GAsyncResult *res,
- GError **error);
-DBusProperties *dbus_properties_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-void dbus_properties_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-DBusProperties *dbus_properties_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error);
-DBusProperties *dbus_properties_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-
-/* ---- */
-
-#define TYPE_DBUS_PROPERTIES_SKELETON (dbus_properties_skeleton_get_type ())
-#define DBUS_PROPERTIES_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DBUS_PROPERTIES_SKELETON, DBusPropertiesSkeleton))
-#define DBUS_PROPERTIES_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_DBUS_PROPERTIES_SKELETON, DBusPropertiesSkeletonClass))
-#define DBUS_PROPERTIES_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DBUS_PROPERTIES_SKELETON, DBusPropertiesSkeletonClass))
-#define IS_DBUS_PROPERTIES_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DBUS_PROPERTIES_SKELETON))
-#define IS_DBUS_PROPERTIES_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DBUS_PROPERTIES_SKELETON))
-
-typedef struct _DBusPropertiesSkeleton DBusPropertiesSkeleton;
-typedef struct _DBusPropertiesSkeletonClass DBusPropertiesSkeletonClass;
-typedef struct _DBusPropertiesSkeletonPrivate DBusPropertiesSkeletonPrivate;
-
-struct _DBusPropertiesSkeleton
-{
- /*< private >*/
- GDBusInterfaceSkeleton parent_instance;
- DBusPropertiesSkeletonPrivate *priv;
-};
-
-struct _DBusPropertiesSkeletonClass
-{
- GDBusInterfaceSkeletonClass parent_class;
-};
-
-GType dbus_properties_skeleton_get_type (void) G_GNUC_CONST;
-
-DBusProperties *dbus_properties_skeleton_new (void);
-
-
-/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.hostname1 */
#define TYPE_HOSTNAME1 (hostname1_get_type ())
@@ -919,6 +351,148 @@ GType hostname1_skeleton_get_type (void) G_GNUC_CONST;
Hostname1 *hostname1_skeleton_new (void);
+/* ---- */
+
+#define TYPE_OBJECT (object_get_type ())
+#define OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT, Object))
+#define IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT))
+#define OBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), TYPE_OBJECT, Object))
+
+struct _Object;
+typedef struct _Object Object;
+typedef struct _ObjectIface ObjectIface;
+
+struct _ObjectIface
+{
+ GTypeInterface parent_iface;
+};
+
+GType object_get_type (void) G_GNUC_CONST;
+
+Hostname1 *object_get_hostname1 (Object *object);
+Hostname1 *object_peek_hostname1 (Object *object);
+
+#define TYPE_OBJECT_PROXY (object_proxy_get_type ())
+#define OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT_PROXY, ObjectProxy))
+#define OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_OBJECT_PROXY, ObjectProxyClass))
+#define OBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_OBJECT_PROXY, ObjectProxyClass))
+#define IS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT_PROXY))
+#define IS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_OBJECT_PROXY))
+
+typedef struct _ObjectProxy ObjectProxy;
+typedef struct _ObjectProxyClass ObjectProxyClass;
+typedef struct _ObjectProxyPrivate ObjectProxyPrivate;
+
+struct _ObjectProxy
+{
+ /*< private >*/
+ GDBusObjectProxy parent_instance;
+ ObjectProxyPrivate *priv;
+};
+
+struct _ObjectProxyClass
+{
+ GDBusObjectProxyClass parent_class;
+};
+
+GType object_proxy_get_type (void) G_GNUC_CONST;
+ObjectProxy *object_proxy_new (GDBusConnection *connection, const gchar *object_path);
+
+#define TYPE_OBJECT_SKELETON (object_skeleton_get_type ())
+#define OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT_SKELETON, ObjectSkeleton))
+#define OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_OBJECT_SKELETON, ObjectSkeletonClass))
+#define OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_OBJECT_SKELETON, ObjectSkeletonClass))
+#define IS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT_SKELETON))
+#define IS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_OBJECT_SKELETON))
+
+typedef struct _ObjectSkeleton ObjectSkeleton;
+typedef struct _ObjectSkeletonClass ObjectSkeletonClass;
+typedef struct _ObjectSkeletonPrivate ObjectSkeletonPrivate;
+
+struct _ObjectSkeleton
+{
+ /*< private >*/
+ GDBusObjectSkeleton parent_instance;
+ ObjectSkeletonPrivate *priv;
+};
+
+struct _ObjectSkeletonClass
+{
+ GDBusObjectSkeletonClass parent_class;
+};
+
+GType object_skeleton_get_type (void) G_GNUC_CONST;
+ObjectSkeleton *object_skeleton_new (const gchar *object_path);
+void object_skeleton_set_hostname1 (ObjectSkeleton *object, Hostname1 *interface_);
+
+/* ---- */
+
+#define TYPE_OBJECT_MANAGER_CLIENT (object_manager_client_get_type ())
+#define OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_OBJECT_MANAGER_CLIENT, ObjectManagerClient))
+#define OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), TYPE_OBJECT_MANAGER_CLIENT, ObjectManagerClientClass))
+#define OBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_OBJECT_MANAGER_CLIENT, ObjectManagerClientClass))
+#define IS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_OBJECT_MANAGER_CLIENT))
+#define IS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_OBJECT_MANAGER_CLIENT))
+
+typedef struct _ObjectManagerClient ObjectManagerClient;
+typedef struct _ObjectManagerClientClass ObjectManagerClientClass;
+typedef struct _ObjectManagerClientPrivate ObjectManagerClientPrivate;
+
+struct _ObjectManagerClient
+{
+ /*< private >*/
+ GDBusObjectManagerClient parent_instance;
+ ObjectManagerClientPrivate *priv;
+};
+
+struct _ObjectManagerClientClass
+{
+ GDBusObjectManagerClientClass parent_class;
+};
+
+GType object_manager_client_get_type (void) G_GNUC_CONST;
+
+GType object_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);
+
+void object_manager_client_new (
+ GDBusConnection *connection,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GDBusObjectManager *object_manager_client_new_finish (
+ GAsyncResult *res,
+ GError **error);
+GDBusObjectManager *object_manager_client_new_sync (
+ GDBusConnection *connection,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GError **error);
+
+void object_manager_client_new_for_bus (
+ GBusType bus_type,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GDBusObjectManager *object_manager_client_new_for_bus_finish (
+ GAsyncResult *res,
+ GError **error);
+GDBusObjectManager *object_manager_client_new_for_bus_sync (
+ GBusType bus_type,
+ GDBusObjectManagerClientFlags flags,
+ const gchar *name,
+ const gchar *object_path,
+ GCancellable *cancellable,
+ GError **error);
+
+
G_END_DECLS
#endif /* __SRC_INTERFACES_HOSTNAMED_HOSTNAMED_GEN_H__ */
diff --git a/src/interfaces/hostnamed/hostnamed.c b/src/interfaces/hostnamed/hostnamed.c
index dff5115..3fac9a4 100644
--- a/src/interfaces/hostnamed/hostnamed.c
+++ b/src/interfaces/hostnamed/hostnamed.c
@@ -27,6 +27,9 @@ GPtrArray *hostnamed_freeable;
GDBusNodeInfo *spect_data;
Hostname1 *hostnamed_interf;
+/* begin method/property/signal code */
+
+/* TODO make sure these guys only work if called by root */
static gboolean
on_handle_set_hostname(Hostname1 *hn1_passed_interf,
GDBusMethodInvocation *invoc,
@@ -67,6 +70,72 @@ on_handle_set_icon_name(Hostname1 *hn1_passed_interf,
return FALSE;
}
+/* note: all hostnamed/hostname1's properties are read-only,
+ * and do not need set_ functions, gdbus-codegen realized
+ * this from the XML and handled the to-be error of trying
+ * to set a read-only property's value
+ */
+
+const gchar *
+our_get_hostname() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_static_hostname() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_pretty_hostname() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_chassis() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_icon_name() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_kernel_name() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_kernel_version() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_kernel_release() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_os_cpename() {
+
+ return "TODO";
+}
+
+const gchar *
+our_get_os_pretty_name() {
+
+ return "TODO";
+}
+
/* end method/property/signal code, begin bus/name handlers */
static void on_bus_acquired(GDBusConnection *conn,
@@ -85,13 +154,25 @@ static void on_name_acquired(GDBusConnection *conn,
hostnamed_interf = hostname1_skeleton_new();
- /* attach function pointers to generated vfunc table struct */
+ /* attach function pointers to generated struct's method handlers */
g_signal_connect(hostnamed_interf, "handle-set-hostname", G_CALLBACK(on_handle_set_hostname), NULL);
g_signal_connect(hostnamed_interf, "handle-set-static-hostname", G_CALLBACK(on_handle_set_static_hostname), NULL);
g_signal_connect(hostnamed_interf, "handle-set-pretty-hostname", G_CALLBACK(on_handle_set_pretty_hostname), NULL);
g_signal_connect(hostnamed_interf, "handle-set-chassis", G_CALLBACK(on_handle_set_chassis), NULL);
g_signal_connect(hostnamed_interf, "handle-set-icon-name", G_CALLBACK(on_handle_set_icon_name), NULL);
+ /* set our properties before export */
+ hostname1_set_hostname(hostnamed_interf, our_get_hostname());
+ hostname1_set_static_hostname(hostnamed_interf, our_get_static_hostname());
+ hostname1_set_pretty_hostname(hostnamed_interf, our_get_pretty_hostname());
+ hostname1_set_chassis(hostnamed_interf, our_get_chassis());
+ hostname1_set_icon_name(hostnamed_interf, our_get_icon_name());
+ hostname1_set_kernel_name(hostnamed_interf, our_get_kernel_name());
+ hostname1_set_kernel_version(hostnamed_interf, our_get_kernel_version());
+ hostname1_set_kernel_release(hostnamed_interf, our_get_kernel_release());
+ hostname1_set_operating_system_cpename(hostnamed_interf, our_get_os_cpename());
+ hostname1_set_operating_system_pretty_name(hostnamed_interf, our_get_os_pretty_name());
+
if(!g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(hostnamed_interf),
conn,
"/org/freedesktop/hostname1",