summaryrefslogtreecommitdiff
path: root/client/dconf-client.c
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2010-05-24 13:59:46 -0400
committerRyan Lortie <desrt@desrt.ca>2010-05-24 13:59:46 -0400
commit0ce4f19474690fc8af99b42b3604740eb213b2ae (patch)
tree0ba72696227d3a68fe7ccedc81abdf22f1a9456a /client/dconf-client.c
parent6a259db1890a888bc3d55ecd635bfabce44a0fc1 (diff)
downloaddconf-0ce4f19474690fc8af99b42b3604740eb213b2ae.tar.gz
client: implement write_many API
Diffstat (limited to 'client/dconf-client.c')
-rw-r--r--client/dconf-client.c61
1 files changed, 43 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);