aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/fuzzy_backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libserver/fuzzy_backend.h')
-rw-r--r--src/libserver/fuzzy_backend.h45
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_ */