summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSenko Rasic <senko.rasic@collabora.co.uk>2010-04-14 13:19:30 +0200
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2010-04-15 19:16:13 +0100
commit1609203111ced2cdd9d26aa55b4dfa3b0ded2e64 (patch)
tree8f2b9c57f75e71e4caca64742cb78302cf7cc939
parentbce98dcad2fc6f7ad34b645d6b3d58ec2849e7d0 (diff)
downloadtelepathy-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.c5
-rw-r--r--src/mcd-handler-map-priv.h3
-rw-r--r--src/mcd-handler-map.c10
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);
}
+
+