+static void
+empathy_account_manager_check_ready (EmpathyAccountManager *manager)
+{
+ EmpathyAccountManagerPriv *priv = GET_PRIV (manager);
+ GHashTableIter iter;
+ gpointer value;
+
+ if (priv->ready)
+ return;
+
+ g_hash_table_iter_init (&iter, priv->accounts);
+ while (g_hash_table_iter_next (&iter, NULL, &value))
+ {
+ EmpathyAccount *account = EMPATHY_ACCOUNT (value);
+ gboolean ready;
+
+ g_object_get (account, "ready", &ready, NULL);
+
+ if (!ready)
+ return;
+ }
+
+ priv->ready = TRUE;
+ g_object_notify (G_OBJECT (manager), "ready");
+}
+