]> git.deb.at Git - pkg/abook.git/blobdiff - filter.h
mutt-query (3/3): register the --mutt-query-format per-item filter and use it
[pkg/abook.git] / filter.h
index 5fa1f5ea53353750b8a0d76e13ae3db70f44d65f..c31c76fa7d8105bc5d47e1d42cfe33d0515a1d4b 100644 (file)
--- a/filter.h
+++ b/filter.h
@@ -3,9 +3,22 @@
 
 #include "database.h"
 
-#define                FILTNAME_LEN    6
+#define                FILTNAME_LEN    8
 
-struct abook_filter {
+
+struct abook_output_filter {
+       char filtname[FILTNAME_LEN];
+       char *desc;
+       int (*func) (FILE *handle, struct db_enumerator e);
+};
+
+struct abook_output_item_filter {
+       char filtname[FILTNAME_LEN];
+       char *desc;
+       void (*func) (FILE *handle, int item);
+};
+
+struct abook_input_filter {
        char filtname[FILTNAME_LEN];
        char *desc;
        int (*func) (FILE *handle);
@@ -13,11 +26,19 @@ struct abook_filter {
 
 
 int            import_database();
-int             import(char filtname[FILTNAME_LEN], char *filename);
+int             import_file(char filtname[FILTNAME_LEN], char *filename);
 
 int            export_database();
-int             export(char filtname[FILTNAME_LEN], char *filename);
-int            fexport(char filtname[FILTNAME_LEN], FILE *handle);
+int             export_file(char filtname[FILTNAME_LEN], char *filename);
+
+struct abook_output_item_filter
+               select_output_item_filter(char filtname[FILTNAME_LEN]);
+
+void           e_write_item(FILE *out, int item, void (*func) (FILE *in, int item));
+void           muttq_print_item(FILE *file, int item);
+
+int            fexport(char filtname[FILTNAME_LEN], FILE *handle,
+               int enum_mode);
 
 void           print_filters();