1 #ifndef MAIL_SEARCH_MIME_REGISTER_H
2 #define MAIL_SEARCH_MIME_REGISTER_H
3 
4 struct mail_search_mime_arg;
5 struct mail_search_mime_build_context;
6 
7 struct mail_search_mime_register_arg {
8 	const char *key;
9 
10 	/* returns parsed arg or NULL if error. error message is set to ctx->ctx. */
11 	struct mail_search_mime_arg *
12 		(*build)(struct mail_search_mime_build_context *ctx);
13 };
14 
15 void mail_search_mime_register_deinit(void);
16 
17 void mail_search_mime_register_add(
18 			      const struct mail_search_mime_register_arg *arg,
19 			      unsigned int count);
20 
21 /* Return all registered args sorted. */
22 const struct mail_search_mime_register_arg *
23 mail_search_mime_register_get(unsigned int *count_r);
24 
25 /* Find key's registered arg, or NULL if not found. */
26 const struct mail_search_mime_register_arg *
27 mail_search_mime_register_find(const char *key);
28 
29 
30 #endif
31