[Telepathy-commits] [telepathy-glib/master] TpConnectionManager: if no manager file, introspect over D-Bus

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Feb 6 07:51:30 PST 2009


In practice, there's no point in avoiding introspection. If someone
created a TpConnectionManager, they clearly care about getting the
information.
---
 telepathy-glib/connection-manager.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/telepathy-glib/connection-manager.c b/telepathy-glib/connection-manager.c
index 93cd4b6..80d5fef 100644
--- a/telepathy-glib/connection-manager.c
+++ b/telepathy-glib/connection-manager.c
@@ -817,9 +817,19 @@ tp_connection_manager_idle_read_manager_file (gpointer data)
 {
   TpConnectionManager *self = TP_CONNECTION_MANAGER (data);
 
-  if (self->priv->protocols == NULL && self->priv->manager_file != NULL
-      && self->priv->manager_file[0] != '\0')
-    tp_connection_manager_read_file (self, self->priv->manager_file);
+  if (self->priv->protocols == NULL)
+    {
+      if (self->priv->manager_file != NULL &&
+          self->priv->manager_file[0] != '\0')
+        {
+          tp_connection_manager_read_file (self, self->priv->manager_file);
+        }
+      else if (self->priv->introspect_idle_id == 0)
+        {
+          tp_connection_manager_idle_introspect (self);
+        }
+      /* else we're going to introspect soon anyway */
+    }
 
   self->priv->manager_file_read_idle_id = 0;
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list