Hi friends Shouldn't e_book_backend_open (in e-book-backend.c) report the connection status as well as the writable status?
Otherwise we get this problem: 1) App A opens an addressbook, causing it to be opened in e-d-s for the first time, and thus also causing it to be loaded. This typically results in the connection status being reported, so should App A be interested, it can know the resulting connection status. 2) App B opens the same addressbook, causing e-d-s to just return quickly from e_book_backend_open. The writable status gets reported, but not the connection status. The result is that App B, if its interested, thinks the book is always offline. The apps can test the connection status by calling e_book_is_online. But this relies on the connection status having been reported back from e-d-s to the application in the first place. In reality there is one place where e_book_is_online is used in Evo: in load_source_cb in component/addressbook.c. The test is made to decide whether to authenticate (if required or not). So I start appA that connects to my ldap addressbook via e-d-s. I then start appB (in this case Evo itself), it sees it as offline, so doesn't bother authenticating ... so I can't edit my addresses. Incidentally, it seems evo doesn't really need to check the online status before authenticating, since looking at the backends they do a sensible thing when trying to authenticate on an offline database. So in this case the call to e_book_is_online is somewhat redundant. Anyhow, we should still allow all Apps to be able to see the correct connection status though. Karl _______________________________________________ Evolution-hackers mailing list Evolution-hackers@gnome.org http://mail.gnome.org/mailman/listinfo/evolution-hackers