aboutsummaryrefslogtreecommitdiffstats
path: root/src/cfg_rcl.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2013-12-04 16:11:54 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2013-12-04 16:11:54 +0000
commitea3c69a103647377d662edb3b59486466352945c (patch)
tree8fadbfdaa38809515320d6d5e8cb4277a342133b /src/cfg_rcl.h
parent4ce9f550f52f0656ce4ae5a8cda2caaf6b553aa7 (diff)
downloadrspamd-ea3c69a103647377d662edb3b59486466352945c.tar.gz
rspamd-ea3c69a103647377d662edb3b59486466352945c.zip
Init logging just after config is parsed by ucl.
Diffstat (limited to 'src/cfg_rcl.h')
-rw-r--r--src/cfg_rcl.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cfg_rcl.h b/src/cfg_rcl.h
index 272272ab4..39ce2fc43 100644
--- a/src/cfg_rcl.h
+++ b/src/cfg_rcl.h
@@ -66,6 +66,13 @@ struct rspamd_rcl_struct_parser {
typedef gboolean (*rspamd_rcl_handler_t) (struct config_file *cfg, ucl_object_t *obj,
gpointer ud, struct rspamd_rcl_section *section, GError **err);
+/**
+ * A handler type that is called at the end of section parsing
+ * @param cfg configuration
+ * @param ud user data
+ */
+typedef void (*rspamd_rcl_section_fin_t)(struct config_file *cfg, gpointer ud);
+
struct rspamd_rcl_default_handler_data {
struct rspamd_rcl_struct_parser pd;
const gchar *key;
@@ -82,6 +89,8 @@ struct rspamd_rcl_section {
UT_hash_handle hh; /** hash handle */
struct rspamd_rcl_section *subsections; /**< hash table of subsections */
struct rspamd_rcl_default_handler_data *default_parser; /**< generic parsing fields */
+ rspamd_rcl_section_fin_t fin; /** called at the end of section parsing */
+ gpointer fin_ud;
};
/**