X-Git-Url: https://git.deb.at/w?p=pkg%2Fabook.git;a=blobdiff_plain;f=database.h;h=23ee2943f9e3c5fbd7140c9f12ec12a1da65f186;hp=030484126de9e61bc6b0b5720c9fe7c6290f612b;hb=HEAD;hpb=23d6687f69d455ff4794199b086817574deea3b8 diff --git a/database.h b/database.h index 0304841..23ee294 100644 --- a/database.h +++ b/database.h @@ -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);