summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2014-03-21 17:58:22 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2014-03-27 15:40:40 +0000
commit705fa4b8ad68461023806610634cc71c6e0588f1 (patch)
treefc0a7f2fb444f7fe456ec1b99c6a1bf85e13091a
parent3fdaf80c67ad704cd0b827a642289ccef6de1429 (diff)
downloadtelepathy-mission-control-705fa4b8ad68461023806610634cc71c6e0588f1.tar.gz
McdStorage: rewrite unique_name to avoid dbus_g_connection_lookup_g_object
If we don't have an account in the McdStorage, its object path won't be in use.
-rw-r--r--src/mcd-storage.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/mcd-storage.c b/src/mcd-storage.c
index 9bb14ff1..4e372147 100644
--- a/src/mcd-storage.c
+++ b/src/mcd-storage.c
@@ -328,9 +328,6 @@ unique_name (const McpAccountManager *ma,
McdStorage *self = MCD_STORAGE (ma);
gchar *esc_manager, *esc_protocol, *esc_base;
guint i;
- gsize base_len = strlen (TP_ACCOUNT_OBJECT_PATH_BASE);
- TpDBusDaemon *dbus = tp_client_factory_get_dbus_daemon (self->factory);
- DBusGConnection *connection = tp_proxy_get_dbus_connection (dbus);
esc_manager = tp_escape_as_identifier (manager);
esc_protocol = g_strdelimit (g_strdup (protocol), "-", '_');
@@ -338,20 +335,15 @@ unique_name (const McpAccountManager *ma,
for (i = 0; i < G_MAXUINT; i++)
{
- gchar *path = g_strdup_printf (
- TP_ACCOUNT_OBJECT_PATH_BASE "%s/%s/%s%u",
+ gchar *tail = g_strdup_printf ("%s/%s/%s%u",
esc_manager, esc_protocol, esc_base, i);
- if (!g_hash_table_contains (self->accounts, path + base_len) &&
- dbus_g_connection_lookup_g_object (connection, path) == NULL)
+ if (!g_hash_table_contains (self->accounts, tail))
{
- gchar *ret = g_strdup (path + base_len);
-
- g_free (path);
- return ret;
+ return tail;
}
- g_free (path);
+ g_free (tail);
}
return NULL;