From d1eb86b2c37237bce7635ce77d3f208a7604263d Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 11 Mar 2013 14:23:16 -0400 Subject: EContactStore: Remove unnecessary warnings. --- e-util/e-contact-store.c | 29 ++++++++++++++++------------- e-util/e-contact-store.h | 2 +- 2 files changed, 17 insertions(+), 14 deletions(-) (limited to 'e-util') diff --git a/e-util/e-contact-store.c b/e-util/e-contact-store.c index acfbe71e79..6d2adc067f 100644 --- a/e-util/e-contact-store.c +++ b/e-util/e-contact-store.c @@ -1022,8 +1022,9 @@ e_contact_store_get_clients (EContactStore *contact_store) * @contact_store: an #EContactStore * @book_client: an #EBookClient * - * Adds @book_client to the list of book clients that provide contacts for @contact_store. - * The @contact_store adds a reference to @book_client, if added. + * Adds @book_client to the list of clients that provide contacts for + * @contact_store. The @contact_store adds a reference to @book_client, + * if added. * * Since: 3.2 **/ @@ -1038,10 +1039,9 @@ e_contact_store_add_client (EContactStore *contact_store, g_return_if_fail (E_IS_CONTACT_STORE (contact_store)); g_return_if_fail (E_IS_BOOK_CLIENT (book_client)); - if (find_contact_source_by_client (contact_store, book_client) >= 0) { - g_warning ("Same book client added more than once to EContactStore!"); + /* Return silently if we already have this EBookClient. */ + if (find_contact_source_by_client (contact_store, book_client) >= 0) return; - } array = contact_store->priv->contact_sources; @@ -1060,11 +1060,14 @@ e_contact_store_add_client (EContactStore *contact_store, * @contact_store: an #EContactStore * @book_client: an #EBookClient * - * Removes @book from the list of book clients that provide contacts for @contact_store. + * Removes @book_client from the list of clients that provide contacts for + * @contact_store. + * + * Returns: whether @book_client was found and removed * * Since: 3.2 **/ -void +gboolean e_contact_store_remove_client (EContactStore *contact_store, EBookClient *book_client) { @@ -1072,14 +1075,12 @@ e_contact_store_remove_client (EContactStore *contact_store, ContactSource *source; gint source_index; - g_return_if_fail (E_IS_CONTACT_STORE (contact_store)); - g_return_if_fail (E_IS_BOOK_CLIENT (book_client)); + g_return_val_if_fail (E_IS_CONTACT_STORE (contact_store), FALSE); + g_return_val_if_fail (E_IS_BOOK_CLIENT (book_client), FALSE); source_index = find_contact_source_by_client (contact_store, book_client); - if (source_index < 0) { - g_warning ("Tried to remove unknown book client from EContactStore!"); - return; - } + if (source_index < 0) + return FALSE; array = contact_store->priv->contact_sources; @@ -1089,6 +1090,8 @@ e_contact_store_remove_client (EContactStore *contact_store, g_object_unref (book_client); g_array_remove_index (array, source_index); /* Preserve order */ + + return TRUE; } /** diff --git a/e-util/e-contact-store.h b/e-util/e-contact-store.h index de86c5f325..5fb79f840b 100644 --- a/e-util/e-contact-store.h +++ b/e-util/e-contact-store.h @@ -85,7 +85,7 @@ gboolean e_contact_store_find_contact (EContactStore *contact_store, GSList * e_contact_store_get_clients (EContactStore *contact_store); void e_contact_store_add_client (EContactStore *contact_store, EBookClient *book_client); -void e_contact_store_remove_client (EContactStore *contact_store, +gboolean e_contact_store_remove_client (EContactStore *contact_store, EBookClient *book_client); void e_contact_store_set_query (EContactStore *contact_store, EBookQuery *book_query); -- cgit v1.2.3