diff options
Diffstat (limited to 'src/libserver/fuzzy_backend.h')
-rw-r--r-- | src/libserver/fuzzy_backend.h | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/src/libserver/fuzzy_backend.h b/src/libserver/fuzzy_backend.h index 1519761e0..23b9b68ef 100644 --- a/src/libserver/fuzzy_backend.h +++ b/src/libserver/fuzzy_backend.h @@ -20,6 +20,10 @@ #include "contrib/libev/ev.h" #include "fuzzy_wire.h" +#ifdef __cplusplus +extern "C" { +#endif + struct rspamd_fuzzy_backend; struct rspamd_config; @@ -27,14 +31,18 @@ struct rspamd_config; * Callbacks for fuzzy methods */ typedef void (*rspamd_fuzzy_check_cb) (struct rspamd_fuzzy_reply *rep, void *ud); + typedef void (*rspamd_fuzzy_update_cb) (gboolean success, guint nadded, guint ndeleted, guint nextended, guint nignored, void *ud); + typedef void (*rspamd_fuzzy_version_cb) (guint64 rev, void *ud); + typedef void (*rspamd_fuzzy_count_cb) (guint64 count, void *ud); + typedef gboolean (*rspamd_fuzzy_periodic_cb) (void *ud); /** @@ -44,10 +52,10 @@ typedef gboolean (*rspamd_fuzzy_periodic_cb) (void *ud); * @param err * @return */ -struct rspamd_fuzzy_backend * rspamd_fuzzy_backend_create (struct ev_loop *ev_base, - const ucl_object_t *config, - struct rspamd_config *cfg, - GError **err); +struct rspamd_fuzzy_backend *rspamd_fuzzy_backend_create (struct ev_loop *ev_base, + const ucl_object_t *config, + struct rspamd_config *cfg, + GError **err); /** @@ -57,8 +65,8 @@ struct rspamd_fuzzy_backend * rspamd_fuzzy_backend_create (struct ev_loop *ev_ba * @param ud */ void rspamd_fuzzy_backend_check (struct rspamd_fuzzy_backend *bk, - const struct rspamd_fuzzy_cmd *cmd, - rspamd_fuzzy_check_cb cb, void *ud); + const struct rspamd_fuzzy_cmd *cmd, + rspamd_fuzzy_check_cb cb, void *ud); /** * Process updates for a specific queue @@ -67,8 +75,8 @@ void rspamd_fuzzy_backend_check (struct rspamd_fuzzy_backend *bk, * @param src */ void rspamd_fuzzy_backend_process_updates (struct rspamd_fuzzy_backend *bk, - GArray *updates, const gchar *src, rspamd_fuzzy_update_cb cb, - void *ud); + GArray *updates, const gchar *src, rspamd_fuzzy_update_cb cb, + void *ud); /** * Gets number of hashes from the backend @@ -77,7 +85,7 @@ void rspamd_fuzzy_backend_process_updates (struct rspamd_fuzzy_backend *bk, * @param ud */ void rspamd_fuzzy_backend_count (struct rspamd_fuzzy_backend *bk, - rspamd_fuzzy_count_cb cb, void *ud); + rspamd_fuzzy_count_cb cb, void *ud); /** * Returns number of revision for a specific source @@ -87,26 +95,27 @@ void rspamd_fuzzy_backend_count (struct rspamd_fuzzy_backend *bk, * @param ud */ void rspamd_fuzzy_backend_version (struct rspamd_fuzzy_backend *bk, - const gchar *src, - rspamd_fuzzy_version_cb cb, void *ud); + const gchar *src, + rspamd_fuzzy_version_cb cb, void *ud); /** * Returns unique id for backend * @param backend * @return */ -const gchar * rspamd_fuzzy_backend_id (struct rspamd_fuzzy_backend *backend); +const gchar *rspamd_fuzzy_backend_id (struct rspamd_fuzzy_backend *backend); /** * Starts expire process for the backend * @param backend */ void rspamd_fuzzy_backend_start_update (struct rspamd_fuzzy_backend *backend, - gdouble timeout, - rspamd_fuzzy_periodic_cb cb, - void *ud); + gdouble timeout, + rspamd_fuzzy_periodic_cb cb, + void *ud); + +struct ev_loop *rspamd_fuzzy_backend_event_base (struct rspamd_fuzzy_backend *backend); -struct ev_loop* rspamd_fuzzy_backend_event_base (struct rspamd_fuzzy_backend *backend); gdouble rspamd_fuzzy_backend_get_expire (struct rspamd_fuzzy_backend *backend); /** @@ -115,4 +124,8 @@ gdouble rspamd_fuzzy_backend_get_expire (struct rspamd_fuzzy_backend *backend); */ void rspamd_fuzzy_backend_close (struct rspamd_fuzzy_backend *backend); +#ifdef __cplusplus +} +#endif + #endif /* SRC_LIBSERVER_FUZZY_BACKEND_H_ */ |