Refactored the code that offers UI to add contacts to address book
[modest] / src / modest-address-book.h
index 9231f96..8fea6fa 100644 (file)
 #ifndef __MODEST_ADDRESS_BOOK_H__
 #define __MODEST_ADDRESS_BOOK_H__
 
+#include <gtk/gtkwindow.h>
 #include <glib.h>
 #include <widgets/modest-recpt-editor.h>
 
 /**
+ * modest_address_book_init:
+ *
+ * initializes the addressbook
+ */
+void
+modest_address_book_init (void);
+
+/**
  * modest_address_book_add_address:
  * @address: a string
  *
  * launches the UI for adding @address to the addressbook
  */
 void
-modest_address_book_add_address (const gchar *address);
+modest_address_book_add_address (const gchar *address,
+                                GtkWindow *parent);
 
 /**
  * modest_address_book_select_addresses:
@@ -52,7 +62,66 @@ modest_address_book_add_address (const gchar *address);
  *
  */
 void
-modest_address_book_select_addresses (ModestRecptEditor *editor);
+modest_address_book_select_addresses (ModestRecptEditor *editor,
+                                     GtkWindow *parent_window);
+
+/**
+ * modest_address_book_check_names:
+ * @editor: a #ModestRecptEditor
+ * @address_list: if it is not NULL, this list is filled with the
+ * valid addresses ready to be added to the address book
+ *
+ * Performs verification of addresses in a recipient editor.
+ *
+ * Returns: %TRUE if all recipients are valid or there are
+ * no recipients, %FALSE otherwise.
+ */
+gboolean
+modest_address_book_check_names (ModestRecptEditor *editor,
+                                GSList **address_list);
 
+/**
+ * modest_address_book_has_address:
+ * @address: a string
+ *
+ * Checks if an address is already stored in addressbook.
+ *
+ * Returns: %TRUE is @address is in addressbook. %FALSE otherwise.
+ */
+gboolean
+modest_address_book_has_address (const gchar *address);
+
+/**
+ * modest_address_book_get_my_name:
+ * @:
+ *
+ * Returns user name from user's own vcard
+ *
+ * Returns: the user full name
+ **/
+const gchar *
+modest_address_book_get_my_name ();
+
+/**
+ * modest_address_book_add_address_list:
+ * @address_list: a list of email addresses to add to the addressbook
+ *
+ * Inserts a list of addresses in the addressbook
+ **/
+void
+modest_address_book_add_address_list (GSList *address_list);
+
+/**
+ * modest_address_book_add_address_list_with_selector:
+ * @address_list: a list of email addresses to add to the addressbook
+ * @parent: the parent window. The UI elements shown to the user
+ * (tipically a dialog) will have that window as parent
+ *
+ * Presents some UI to the users to allow them to select and then
+ * insert a list of selected addresses in the addressbook.
+ **/
+void
+modest_address_book_add_address_list_with_selector (GSList *address_list,
+                                                   GtkWindow *parent);
 
 #endif /* __MODEST_ADDRESS_BOOK_H__ */