diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2014-03-21 17:58:22 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2014-03-27 15:40:40 +0000 |
commit | 705fa4b8ad68461023806610634cc71c6e0588f1 (patch) | |
tree | fc0a7f2fb444f7fe456ec1b99c6a1bf85e13091a | |
parent | 3fdaf80c67ad704cd0b827a642289ccef6de1429 (diff) | |
download | telepathy-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.c | 16 |
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; |