diff options
author | Senko Rasic <senko.rasic@collabora.co.uk> | 2010-04-14 13:19:30 +0200 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2010-04-15 19:16:13 +0100 |
commit | 1609203111ced2cdd9d26aa55b4dfa3b0ded2e64 (patch) | |
tree | 8f2b9c57f75e71e4caca64742cb78302cf7cc939 | |
parent | bce98dcad2fc6f7ad34b645d6b3d58ec2849e7d0 (diff) | |
download | telepathy-mission-control-1609203111ced2cdd9d26aa55b4dfa3b0ded2e64.tar.gz |
McdHandlerMap: perform channel->account lookup internally
Instead of giving access to the whole map to the user.
-rw-r--r-- | src/mcd-dispatcher.c | 5 | ||||
-rw-r--r-- | src/mcd-handler-map-priv.h | 3 | ||||
-rw-r--r-- | src/mcd-handler-map.c | 10 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c index 22273bb9..ffbbf841 100644 --- a/src/mcd-dispatcher.c +++ b/src/mcd-dispatcher.c @@ -839,8 +839,6 @@ mcd_dispatcher_client_needs_recovery_cb (McdClientProxy *client, { GList *channels = _mcd_handler_map_get_handled_channels (self->priv->handler_map); - GHashTable *accounts = - _mcd_handler_map_get_channel_accounts (self->priv->handler_map); const GList *observer_filters; GList *list; @@ -859,7 +857,8 @@ mcd_dispatcher_client_needs_recovery_cb (McdClientProxy *client, FALSE)) { const gchar *account_path = - g_hash_table_lookup (accounts, tp_proxy_get_object_path (channel)); + _mcd_handler_map_get_channel_account (self->priv->handler_map, + tp_proxy_get_object_path (channel)); _mcd_client_recover_observer (client, channel, account_path); } diff --git a/src/mcd-handler-map-priv.h b/src/mcd-handler-map-priv.h index 7b7bdca7..d8bc80a0 100644 --- a/src/mcd-handler-map-priv.h +++ b/src/mcd-handler-map-priv.h @@ -80,7 +80,8 @@ void _mcd_handler_map_set_channel_handled (McdHandlerMap *self, GList *_mcd_handler_map_get_handled_channels (McdHandlerMap *self); -GHashTable *_mcd_handler_map_get_channel_accounts (McdHandlerMap *self); +const gchar *_mcd_handler_map_get_channel_account (McdHandlerMap *self, + const gchar *channel_path); G_END_DECLS diff --git a/src/mcd-handler-map.c b/src/mcd-handler-map.c index ff0ada1c..016bf3a6 100644 --- a/src/mcd-handler-map.c +++ b/src/mcd-handler-map.c @@ -405,8 +405,12 @@ _mcd_handler_map_get_handled_channels (McdHandlerMap *self) return g_hash_table_get_values (self->priv->handled_channels); } -GHashTable * -_mcd_handler_map_get_channel_accounts (McdHandlerMap *self) +const gchar * +_mcd_handler_map_get_channel_account (McdHandlerMap *self, + const gchar *channel_path) { - return self->priv->channel_accounts; + return g_hash_table_lookup (self->priv->channel_accounts, + channel_path); } + + |