diff options
author | Ryan Lortie <desrt@desrt.ca> | 2010-05-24 13:59:46 -0400 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2010-05-24 13:59:46 -0400 |
commit | 0ce4f19474690fc8af99b42b3604740eb213b2ae (patch) | |
tree | 0ba72696227d3a68fe7ccedc81abdf22f1a9456a /client/dconf-client.c | |
parent | 6a259db1890a888bc3d55ecd635bfabce44a0fc1 (diff) | |
download | dconf-0ce4f19474690fc8af99b42b3604740eb213b2ae.tar.gz |
client: implement write_many API
Diffstat (limited to 'client/dconf-client.c')
-rw-r--r-- | client/dconf-client.c | 61 |
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); |