X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=database.h;h=8676f7162e12144bd2ef9f377815625b3e218236;hb=05b0f3753902043fa8476a59c9251ab176675945;hp=9ab2c0ca3f12212f4739f0289a4256628c0c75fc;hpb=0d3c17d9ab127e5596c8fb97d65122b3b90f6b11;p=pkg%2Fabook.git diff --git a/database.h b/database.h index 9ab2c0c..8676f71 100644 --- a/database.h +++ b/database.h @@ -36,22 +36,35 @@ struct abook_field { int tab; }; +enum { + ENUM_ALL, + ENUM_SELECTED +}; + +struct db_enumerator { + int item; + int mode; /* boolean */ /* warning: read only */ +}; + +#define db_enumerate_items(e) \ + while( -1 != (e.item = real_db_enumerate_items(e))) + int parse_database(FILE *in); -int write_database(FILE *out); +int write_database(FILE *out, struct db_enumerator e); int load_database(char *filename); int save_database(); void close_database(); int add_item2database(list_item item); void free_list_item(list_item item); -void remove_items(); +void remove_selected_items(); void sort_surname(); void sort_database(); -void clear_database(); -void find(int next); -void print_number_of_items(); -void read_database(); char *get_surname(char *s); -void print_database(); +int find_item(char *str, int start); +int is_selected(int item); + +int real_db_enumerate_items(struct db_enumerator e); +struct db_enumerator init_db_enumerator(int mode); #define LAST_ITEM (items - 1)