]> git.deb.at Git - pkg/abook.git/blobdiff - database.h
Upload 0.6.1-2 to unstable
[pkg/abook.git] / database.h
index 030484126de9e61bc6b0b5720c9fe7c6290f612b..23ee2943f9e3c5fbd7140c9f12ec12a1da65f186 100644 (file)
@@ -6,7 +6,7 @@
 #define MAX_EMAILSTR_LEN       (MAX_LIST_ITEMS * (MAX_EMAIL_LEN + 1) + 1)
 #define MAX_FIELD_LEN          81
 
-enum {
+enum field_types {
        NAME = 0, /* important */
        EMAIL,
        ADDRESS,
@@ -23,6 +23,7 @@ enum {
        URL,
        NOTES,
        ANNIVERSARY,
+       GROUPS,
        ITEM_FIELDS /* this is the last */
 };
 
@@ -66,7 +67,7 @@ abook_field *real_find_field(char *key, abook_field_list *list, int *nb);
 #define find_field(key, list)          real_find_field(key, list, NULL)
 #define find_field_number(key, pt_nb)  real_find_field(key, NULL, pt_nb)
 #define find_declared_field(key)       find_field(key,NULL)
-void get_field_keyname(int i, char **key, char **name);
+void get_field_info(int i, char **key, char **name, int *type);
 void add_field(abook_field_list **list, abook_field *f);
 char *declare_new_field(char *key, char *name, char *type, int accept_standard);
 void init_standard_fields();
@@ -80,6 +81,8 @@ int load_database(char *filename);
 int write_database(FILE *out, struct db_enumerator e);
 int save_database();
 void remove_selected_items();
+void merge_selected_items();
+void remove_duplicates();
 void sort_surname();
 void sort_by_field(char *field);
 void close_database();
@@ -104,6 +107,7 @@ void item_empty(list_item item);
 void item_free(list_item *item);
 void item_copy(list_item dest, list_item src);
 void item_duplicate(list_item dest, list_item src);
+void item_merge(list_item dest, list_item src);
 
 int item_fput(list_item item, int i, char *val);
 char *item_fget(list_item item, int i);