diff options
| author | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-12-21 15:56:57 +0000 |
|---|---|---|
| committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-12-21 15:56:57 +0000 |
| commit | 6ef602298271ae2741e6e75245002684fb2ff9a6 (patch) | |
| tree | 5ca1b7313960c793274b9890ea30af3c97d560a0 | |
| parent | 359d1c553b7135dcceebf5c80d49a81dd3521362 (diff) | |
mcd-client: pick up Observer.DelayApprovers
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
| -rw-r--r-- | src/mcd-client-priv.h | 2 | ||||
| -rw-r--r-- | src/mcd-client.c | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/mcd-client-priv.h b/src/mcd-client-priv.h index 6e1a8c85..f20f9e99 100644 --- a/src/mcd-client-priv.h +++ b/src/mcd-client-priv.h @@ -99,6 +99,8 @@ G_GNUC_INTERNAL gboolean _mcd_client_proxy_get_bypass_approval (McdClientProxy *self); G_GNUC_INTERNAL gboolean _mcd_client_proxy_get_bypass_observers (McdClientProxy *self); +G_GNUC_INTERNAL gboolean _mcd_client_proxy_get_delay_approvers + (McdClientProxy *self); G_GNUC_INTERNAL GValueArray *_mcd_client_proxy_dup_handler_capabilities ( McdClientProxy *self); diff --git a/src/mcd-client.c b/src/mcd-client.c index 392edf0e..a7ff0258 100644 --- a/src/mcd-client.c +++ b/src/mcd-client.c @@ -77,6 +77,7 @@ struct _McdClientProxyPrivate gboolean ready; gboolean bypass_approval; gboolean bypass_observers; + gboolean delay_approvers; gboolean recover; /* If a client was in the ListActivatableNames list, it must not be @@ -411,6 +412,10 @@ parse_client_file (McdClientProxy *client, g_key_file_get_boolean (file, TP_IFACE_CLIENT_HANDLER, "BypassObservers", NULL); + client->priv->delay_approvers = + g_key_file_get_boolean (file, TP_IFACE_CLIENT_OBSERVER, + "DelayApprovers", NULL); + client->priv->recover = g_key_file_get_boolean (file, TP_IFACE_CLIENT_OBSERVER, "Recover", NULL); @@ -777,6 +782,12 @@ _mcd_client_proxy_observer_get_all_cb (TpProxy *proxy, /* by now, we at least know whether the client is running or not */ g_assert (self->priv->unique_name != NULL); + /* FALSE if DelayApprovers is invalid or missing is a good fallback */ + self->priv->delay_approvers = tp_asv_get_boolean ( + properties, "DelayApprovers", NULL); + DEBUG ("%s has DelayApprovers=%c", bus_name, + self->priv->delay_approvers ? 'T' : 'F'); + filters = tp_asv_get_boxed (properties, "ObserverChannelFilter", TP_ARRAY_TYPE_STRING_VARIANT_MAP_LIST); @@ -1411,6 +1422,14 @@ _mcd_client_proxy_get_bypass_observers (McdClientProxy *self) return self->priv->bypass_observers; } +gboolean +_mcd_client_proxy_get_delay_approvers (McdClientProxy *self) +{ + g_return_val_if_fail (MCD_IS_CLIENT_PROXY (self), FALSE); + + return self->priv->delay_approvers; +} + static void _mcd_client_proxy_become_incapable (McdClientProxy *self) { |
