static void ebbm_contacts_open (EBookBackendMAPI *ebma, GCancellable *cancellable, gboolean only_if_exists, GError **perror) { ESource *source = e_backend_get_source (E_BACKEND (ebma)); ESourceMapiFolder *ext_mapi_folder; EBookBackendMAPIContactsPrivate *priv = ((EBookBackendMAPIContacts *) ebma)->priv; GError *err = NULL; if (e_book_backend_is_opened (E_BOOK_BACKEND (ebma))) { if (E_BOOK_BACKEND_MAPI_CLASS (e_book_backend_mapi_contacts_parent_class)->op_open) E_BOOK_BACKEND_MAPI_CLASS (e_book_backend_mapi_contacts_parent_class)->op_open (ebma, cancellable, only_if_exists, perror); return; } ext_mapi_folder = e_source_get_extension (source, E_SOURCE_EXTENSION_MAPI_FOLDER); priv->fid = e_source_mapi_folder_get_id (ext_mapi_folder); priv->is_public_folder = e_source_mapi_folder_is_public (ext_mapi_folder); priv->foreign_username = e_source_mapi_folder_dup_foreign_username (ext_mapi_folder); if (priv->foreign_username && !*priv->foreign_username) { g_free (priv->foreign_username); priv->foreign_username = NULL; } /* Chain up to parent's op_load_source() method. */ if (E_BOOK_BACKEND_MAPI_CLASS (e_book_backend_mapi_contacts_parent_class)->op_open) E_BOOK_BACKEND_MAPI_CLASS (e_book_backend_mapi_contacts_parent_class)->op_open (ebma, cancellable, only_if_exists, &err); if (err) g_propagate_error (perror, err); }
static void e_book_backend_webdav_notify_online_cb (EBookBackend *backend, GParamSpec *pspec) { /* set_mode is called before the backend is loaded */ if (!e_book_backend_is_opened (backend)) return; if (!e_backend_get_online (E_BACKEND (backend))) { e_book_backend_notify_readonly (backend, TRUE); e_book_backend_notify_online (backend, FALSE); } else { e_book_backend_notify_readonly (backend, FALSE); e_book_backend_notify_online (backend, TRUE); } }