mail-search-parser-private.h revision 5c2d695acf9f95ae0dcdda89c4d2391ceda4d672
45312f52ff3a3d4c137447be4c7556500c2f8bf2Timo Sirainen#ifndef MAIL_SEARCH_PARSER_PRIVATE_H
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define MAIL_SEARCH_PARSER_PRIVATE_H
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
16f816d3f3c32ae3351834253f52ddd0212bcbf3Timo Sirainen#include "mail-search-parser.h"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenstruct mail_search_parser_vfuncs {
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen int (*parse_key)(struct mail_search_parser *parser, const char **key_r);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen int (*parse_string)(struct mail_search_parser *parser,
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen const char **value_r);
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen bool (*parse_skip_next)(struct mail_search_parser *parser,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen const char *str);
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen};
1b3bb8d39686ed24730cbc31cc9a33dc62c8c6c3Timo Sirainen
d6badc27cd6e8d3398877b6766cb0aaeef3a7800Timo Sirainenstruct mail_search_parser {
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen struct mail_search_parser_vfuncs v;
7d7b5c98f086ffa8ac9c90f21db17748ca607202Timo Sirainen
7d7b5c98f086ffa8ac9c90f21db17748ca607202Timo Sirainen pool_t pool;
7d7b5c98f086ffa8ac9c90f21db17748ca607202Timo Sirainen const char *cur_key;
7d7b5c98f086ffa8ac9c90f21db17748ca607202Timo Sirainen const char *error;
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen};
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen
e627cdc5ef30d87959f9510832427e33a2f1d84aTimo Sirainen#endif
24fc71a693331ffe77e2b6d81c70aca6fa055e47Timo Sirainen