From 1609203111ced2cdd9d26aa55b4dfa3b0ded2e64 Mon Sep 17 00:00:00 2001 From: Senko Rasic Date: Wed, 14 Apr 2010 13:19:30 +0200 Subject: McdHandlerMap: perform channel->account lookup internally Instead of giving access to the whole map to the user. --- src/mcd-dispatcher.c | 5 ++--- src/mcd-handler-map-priv.h | 3 ++- 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); } + + -- cgit v1.2.1