e_load_book_source_async() is a mess. It invents its own async pattern, doesn't allow for cancellation and has no way to report errors.
I would like to fix this before it ships in 2.32. Since it's in libedataserverui, it shouldn't affect much more than Evolution. Proposed API uses GIO's async pattern: void e_load_book_source_async (ESource *source, GtkWindow *parent, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); EBook * e_load_book_source_finish (ESource *source, GAsyncResult *result, GError **error); I don't see the point of holding an unusable EBook object, so under this API you don't get the EBook until it is successfully connected, opened and authenticated. If something goes wrong, the finish function returns NULL and sets the GError. Any objections? _______________________________________________ evolution-hackers mailing list evolution-hackers@gnome.org To change your list options or unsubscribe, visit ... http://mail.gnome.org/mailman/listinfo/evolution-hackers