]> git.0d.be Git - empathy.git/blobdiff - src/empathy-debug-window.c
debug: stop using tp_list_connection_names()
[empathy.git] / src / empathy-debug-window.c
index 9611da1c3c35c4df146f462aafde7517504cb4c2..98012e875d64f10eafdd944e6312286afc94bcd6 100644 (file)
@@ -936,50 +936,6 @@ OUT:
   fill_service_chooser_data_free (data);
 }
 
-static void
-debug_window_list_connection_names_cb (const gchar * const *names,
-    gsize n,
-    const gchar * const *cms,
-    const gchar * const *protocols,
-    const GError *error,
-    gpointer user_data,
-    GObject *weak_object)
-{
-  EmpathyDebugWindow *self = user_data;
-  guint i;
-  TpDBusDaemon *dbus;
-  GError *error2 = NULL;
-
-  if (error != NULL)
-    {
-      DEBUG ("list_connection_names failed: %s", error->message);
-      return;
-    }
-
-  dbus = tp_dbus_daemon_dup (&error2);
-
-  if (error2 != NULL)
-    {
-      DEBUG ("Failed to dup TpDBusDaemon.");
-      g_error_free (error2);
-      return;
-    }
-
-  for (i = 0; cms[i] != NULL; i++)
-    {
-      FillServiceChooserData *data = fill_service_chooser_data_new (
-          self, cms[i], SERVICE_TYPE_CM);
-
-      tp_cli_dbus_daemon_call_get_name_owner (dbus, -1,
-          names[i], debug_window_get_name_owner_cb,
-          data, NULL, NULL);
-
-      self->priv->services_detected ++;
-    }
-
-  g_object_unref (dbus);
-}
-
 static void
 debug_window_name_owner_changed_cb (TpDBusDaemon *proxy,
     const gchar *arg0,
@@ -1108,18 +1064,17 @@ debug_window_name_owner_changed_cb (TpDBusDaemon *proxy,
 }
 
 static void
-add_client (EmpathyDebugWindow *self,
-    const gchar *name)
+add_service (EmpathyDebugWindow *self,
+    const gchar *bus_name,
+    const gchar *display_name,
+    ServiceType type)
 {
-  const gchar *suffix;
   FillServiceChooserData *data;
 
-  suffix = name + strlen (TP_CLIENT_BUS_NAME_BASE);
-
-  data = fill_service_chooser_data_new (self, suffix, SERVICE_TYPE_CLIENT);
+  data = fill_service_chooser_data_new (self, display_name, type);
 
   tp_cli_dbus_daemon_call_get_name_owner (self->priv->dbus, -1,
-      name, debug_window_get_name_owner_cb, data, NULL, NULL);
+      bus_name, debug_window_get_name_owner_cb, data, NULL, NULL);
 
   self->priv->services_detected ++;
 }
@@ -1144,7 +1099,13 @@ list_names_cb (TpDBusDaemon *bus_daemon,
     {
       if (g_str_has_prefix (names[i], TP_CLIENT_BUS_NAME_BASE))
         {
-          add_client (self, names[i]);
+          add_service (self, names[i],
+              names[i] + strlen (TP_CLIENT_BUS_NAME_BASE), SERVICE_TYPE_CLIENT);
+        }
+      else if (g_str_has_prefix (names[i], TP_CM_BUS_NAME_BASE))
+        {
+          add_service (self, names[i],
+              names[i] + strlen (TP_CM_BUS_NAME_BASE), SERVICE_TYPE_CM);
         }
     }
 }
@@ -1169,10 +1130,6 @@ debug_window_fill_service_chooser (EmpathyDebugWindow *self)
   self->priv->services_detected = 0;
   self->priv->name_owner_cb_count = 0;
 
-  /* Add CMs to list */
-  tp_list_connection_names (self->priv->dbus,
-      debug_window_list_connection_names_cb, self, NULL, NULL);
-
   /* add Mission Control */
   active_buffer= new_list_store_for_service ();
   pause_buffer = new_list_store_for_service ();