From 79dd56829744995e2da357b7379a1676da513853 Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Thu, 10 Mar 2016 17:10:55 +1000 Subject: [PATCH] * backend.c: * use function generation by macro * more actions --- src/backend.c | 26 +++++++++++++++++--------- src/backend.h | 5 +++++ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/backend.c b/src/backend.c index 1c79948..8eb4f68 100644 --- a/src/backend.c +++ b/src/backend.c @@ -87,16 +87,24 @@ f2b_backend_destroy(f2b_backend_t *backend) { free(backend); } -bool -f2b_backend_ban(f2b_backend_t *backend, const char *ip) { - assert(backend != NULL); +#define BACKEND_CMD_ARG0(CMD) \ +bool \ +f2b_backend_ ## CMD(f2b_backend_t *backend) { \ + assert(backend != NULL); \ + return backend->CMD(backend->cfg); \ +} - return backend->ban(backend->cfg, ip); +#define BACKEND_CMD_ARG1(CMD) \ +bool \ +f2b_backend_ ## CMD(f2b_backend_t *backend, const char *ip) { \ + assert(backend != NULL); \ + return backend->CMD(backend->cfg, ip); \ } -bool -f2b_backend_unban(f2b_backend_t *backend, const char *ip) { - assert(backend != NULL); +BACKEND_CMD_ARG0(ping) +BACKEND_CMD_ARG0(start) +BACKEND_CMD_ARG0(stop) - return backend->unban(backend->cfg, ip); -} +BACKEND_CMD_ARG1(check) +BACKEND_CMD_ARG1(ban) +BACKEND_CMD_ARG1(unban) diff --git a/src/backend.h b/src/backend.h index 779f6ab..c88b640 100644 --- a/src/backend.h +++ b/src/backend.h @@ -22,7 +22,12 @@ typedef struct f2b_backend_t { f2b_backend_t * f2b_backend_create (f2b_config_section_t *config, const char *id); void f2b_backend_destroy(f2b_backend_t *b); +bool f2b_backend_start (f2b_backend_t *b); +bool f2b_backend_stop (f2b_backend_t *b); +bool f2b_backend_ping (f2b_backend_t *b); + bool f2b_backend_ban (f2b_backend_t *b, const char *ip); +bool f2b_backend_check (f2b_backend_t *b, const char *ip); bool f2b_backend_unban (f2b_backend_t *b, const char *ip); #endif /* BACKEND_H_ */