diff options
-rw-r--r-- | client/dconf-client.c | 61 | ||||
-rw-r--r-- | client/dconf-client.h | 4 |
2 files changed, 47 insertions, 18 deletions
diff --git a/client/dconf-client.c b/client/dconf-client.c index 3a33397..2c2803f 100644 --- a/client/dconf-client.c +++ b/client/dconf-client.c @@ -351,28 +351,53 @@ dconf_client_is_writable (DConfClient *client, -#if 0 +gboolean +dconf_client_write_many (DConfClient *client, + const gchar *prefix, + const gchar * const *rels, + GVariant **values, + guint64 *sequence, + GCancellable *cancellable, + GError **error) +{ + DConfEngineMessage dcem; -GVariant * dconf_client_read (DConfClient *client, - const gchar *key, - DConfReadType type); + if (!dconf_engine_write_many (client->engine, &dcem, prefix, rels, values, error)) + return FALSE; + return dconf_client_call_sync (client, &dcem, sequence, cancellable, error); +} -gboolean dconf_client_write_many (DConfClient *client, - const gchar *prefix, - const gchar * const *keys, - GVariant **values, - GError **error); -void dconf_client_write_many_async (DConfClient *client, - const gchar *prefix, - const gchar * const *keys, - GVariant **values, - GAsyncReadyCallback callback, - gpointer user_data); -gboolean dconf_client_write_many_finish (DConfClient *client, - GAsyncResult *result, - GError **error); +void +dconf_client_write_many_async (DConfClient *client, + const gchar *prefix, + const gchar * const *rels, + GVariant **values, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + DConfClientAsyncOp *op; + op = dconf_client_async_op_new (client, dconf_client_write_async, + cancellable, callback, user_data); + dconf_engine_write_many (client->engine, &op->dcem, prefix, + rels, values, &op->error); + dconf_client_async_op_run (op); +} + +gboolean +dconf_client_write_many_finish (DConfClient *client, + GAsyncResult *result, + guint64 *sequence, + GError **error) +{ + return dconf_client_async_op_finish (client, result, + dconf_client_write_many_async, + sequence, error); +} + +#if 0 gboolean dconf_client_watch (DConfClient *client, const gchar *name, GError **error); diff --git a/client/dconf-client.h b/client/dconf-client.h index 1c65e72..3633f5a 100644 --- a/client/dconf-client.h +++ b/client/dconf-client.h @@ -72,15 +72,19 @@ gboolean dconf_client_write_many (DConfCl const gchar *prefix, const gchar * const *keys, GVariant **values, + guint64 *sequence, + GCancellable *cancellable, GError **error); void dconf_client_write_many_async (DConfClient *client, const gchar *prefix, const gchar * const *keys, GVariant **values, + GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean dconf_client_write_many_finish (DConfClient *client, GAsyncResult *result, + guint64 *sequence, GError **error); gboolean dconf_client_watch (DConfClient *client, |