Mercurial > dovecot > original-hg > dovecot-1.2
diff src/plugins/fts/fts-api-private.h @ 4609:48a16f1254b5 HEAD
Added full text search plugin framework. Still missing support for handling
expunges. Also it could use better logic with more complex SEARCH queries to
figure out when the FTS index should be used.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 17 Sep 2006 19:28:10 +0300 |
parents | |
children | a1621235f405 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/plugins/fts/fts-api-private.h Sun Sep 17 19:28:10 2006 +0300 @@ -0,0 +1,35 @@ +#ifndef __FTS_API_PRIVATE_H +#define __FTS_API_PRIVATE_H + +#include "fts-api.h" + +struct fts_backend_vfuncs { + struct fts_backend *(*init)(const char *path); + void (*deinit)(struct fts_backend *backend); + + struct fts_backend_build_context * + (*build_init)(struct fts_backend *backend, + uint32_t *last_uid_r); + int (*build_more)(struct fts_backend_build_context *ctx, uint32_t uid, + const void *data, size_t size); + int (*build_deinit)(struct fts_backend_build_context *ctx); + + int (*lookup)(struct fts_backend *backend, const char *key, + ARRAY_TYPE(seq_range) *result); + int (*filter)(struct fts_backend *backend, const char *key, + ARRAY_TYPE(seq_range) *result); +}; + +struct fts_backend { + const char *name; + struct fts_backend_vfuncs v; +}; + +struct fts_backend_build_context { + struct fts_backend *backend; +}; + +void fts_backend_register(const struct fts_backend *backend); +void fts_backend_unregister(const char *name); + +#endif