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