Skip to content
Snippets Groups Projects
Commit 160d8f6d authored by Stephan Bosch's avatar Stephan Bosch
Browse files

lib-sieve: Reformat sieve-validator.h.

parent 2c40f4df
No related branches found
No related tags found
No related merge requests found
...@@ -26,9 +26,10 @@ struct sieve_command_registration; ...@@ -26,9 +26,10 @@ struct sieve_command_registration;
struct sieve_validator; struct sieve_validator;
struct sieve_validator *sieve_validator_create struct sieve_validator *
(struct sieve_ast *ast, struct sieve_error_handler *ehandler, sieve_validator_create(struct sieve_ast *ast,
enum sieve_compile_flags flags); struct sieve_error_handler *ehandler,
enum sieve_compile_flags flags);
void sieve_validator_free(struct sieve_validator **valdtr); void sieve_validator_free(struct sieve_validator **valdtr);
pool_t sieve_validator_pool(struct sieve_validator *valdtr); pool_t sieve_validator_pool(struct sieve_validator *valdtr);
...@@ -38,84 +39,88 @@ bool sieve_validator_run(struct sieve_validator *valdtr); ...@@ -38,84 +39,88 @@ bool sieve_validator_run(struct sieve_validator *valdtr);
* Accessors * Accessors
*/ */
struct sieve_error_handler *sieve_validator_error_handler struct sieve_error_handler *
(struct sieve_validator *valdtr); sieve_validator_error_handler(struct sieve_validator *valdtr);
struct sieve_ast *sieve_validator_ast struct sieve_ast *sieve_validator_ast(struct sieve_validator *valdtr);
(struct sieve_validator *valdtr); struct sieve_script *sieve_validator_script(struct sieve_validator *valdtr);
struct sieve_script *sieve_validator_script struct sieve_instance *sieve_validator_svinst(struct sieve_validator *valdtr);
(struct sieve_validator *valdtr); enum sieve_compile_flags
struct sieve_instance *sieve_validator_svinst sieve_validator_compile_flags(struct sieve_validator *valdtr);
(struct sieve_validator *valdtr);
enum sieve_compile_flags sieve_validator_compile_flags
(struct sieve_validator *valdtr);
/* /*
* Error handling * Error handling
*/ */
void sieve_validator_warning void sieve_validator_warning(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, unsigned int source_line, unsigned int source_line, const char *fmt, ...)
const char *fmt, ...) ATTR_FORMAT(3, 4); ATTR_FORMAT(3, 4);
void sieve_validator_error void sieve_validator_error(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, unsigned int source_line, unsigned int source_line, const char *fmt, ...)
const char *fmt, ...) ATTR_FORMAT(3, 4); ATTR_FORMAT(3, 4);
void sieve_validator_critical void sieve_validator_critical(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, unsigned int source_line, unsigned int source_line, const char *fmt, ...)
const char *fmt, ...) ATTR_FORMAT(3, 4); ATTR_FORMAT(3, 4);
/* /*
* Command/Test registry * Command/Test registry
*/ */
void sieve_validator_register_command void sieve_validator_register_command(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, const struct sieve_extension *ext, const struct sieve_extension *ext,
const struct sieve_command_def *command); const struct sieve_command_def *command);
/* /*
* Per-command tagged argument registry * Per-command tagged argument registry
*/ */
void sieve_validator_register_tag void sieve_validator_register_tag(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, struct sieve_command_registration *cmd_reg, struct sieve_command_registration *cmd_reg,
const struct sieve_extension *ext, const struct sieve_argument_def *tag_def, const struct sieve_extension *ext,
int id_code); const struct sieve_argument_def *tag_def,
void sieve_validator_register_external_tag int id_code);
(struct sieve_validator *valdtr, const char *command, void sieve_validator_register_external_tag(
const struct sieve_extension *ext, const struct sieve_argument_def *tag_def, struct sieve_validator *valdtr, const char *command,
int id_code); const struct sieve_extension *ext,
void sieve_validator_register_persistent_tag const struct sieve_argument_def *tag_def, int id_code);
(struct sieve_validator *valdtr, const char *command, void sieve_validator_register_persistent_tag(
const struct sieve_extension *ext, struct sieve_validator *valdtr, const char *command,
const struct sieve_argument_def *tag_def); const struct sieve_extension *ext,
const struct sieve_argument_def *tag_def);
/* /*
* Overriding the default literal arguments * Overriding the default literal arguments
*/ */
void sieve_validator_argument_override void sieve_validator_argument_override(
(struct sieve_validator *valdtr, enum sieve_argument_type type, struct sieve_validator *valdtr, enum sieve_argument_type type,
const struct sieve_extension *ext, const struct sieve_argument_def *arg_def); const struct sieve_extension *ext,
bool sieve_validator_argument_activate_super const struct sieve_argument_def *arg_def);
(struct sieve_validator *valdtr, struct sieve_command *cmd, bool sieve_validator_argument_activate_super(
struct sieve_validator *valdtr, struct sieve_command *cmd,
struct sieve_ast_argument *arg, bool constant); struct sieve_ast_argument *arg, bool constant);
/* /*
* Argument validation API * Argument validation API
*/ */
bool sieve_validate_positional_argument bool sieve_validate_positional_argument(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, struct sieve_command *cmd, struct sieve_command *cmd,
struct sieve_ast_argument *arg, const char *arg_name, unsigned int arg_pos, struct sieve_ast_argument *arg,
enum sieve_ast_argument_type req_type); const char *arg_name,
bool sieve_validator_argument_activate unsigned int arg_pos,
(struct sieve_validator *valdtr, struct sieve_command *cmd, enum sieve_ast_argument_type req_type);
struct sieve_ast_argument *arg, bool constant); bool sieve_validator_argument_activate(struct sieve_validator *valdtr,
struct sieve_command *cmd,
bool sieve_validate_tag_parameter struct sieve_ast_argument *arg,
(struct sieve_validator *valdtr, struct sieve_command *cmd, bool constant);
struct sieve_ast_argument *tag, struct sieve_ast_argument *param,
const char *arg_name, unsigned int arg_pos, bool sieve_validate_tag_parameter(struct sieve_validator *valdtr,
enum sieve_ast_argument_type req_type, bool constant); struct sieve_command *cmd,
struct sieve_ast_argument *tag,
struct sieve_ast_argument *param,
const char *arg_name, unsigned int arg_pos,
enum sieve_ast_argument_type req_type,
bool constant);
/* /*
* Extension support * Extension support
...@@ -124,45 +129,44 @@ bool sieve_validate_tag_parameter ...@@ -124,45 +129,44 @@ bool sieve_validate_tag_parameter
struct sieve_validator_extension { struct sieve_validator_extension {
const struct sieve_extension_def *ext; const struct sieve_extension_def *ext;
bool (*check_conflict) bool (*check_conflict)(const struct sieve_extension *ext,
(const struct sieve_extension *ext, struct sieve_validator *valdtr, void *context,
struct sieve_validator *valdtr, void *context, struct sieve_ast_argument *require_arg,
struct sieve_ast_argument *require_arg, const struct sieve_extension *ext_other,
const struct sieve_extension *ext_other, bool required);
bool required); bool (*validate)(const struct sieve_extension *ext,
bool (*validate) struct sieve_validator *valdtr, void *context,
(const struct sieve_extension *ext, struct sieve_ast_argument *require_arg, bool required);
struct sieve_validator *valdtr, void *context,
struct sieve_ast_argument *require_arg, void (*free)(const struct sieve_extension *ext,
bool required); struct sieve_validator *valdtr, void *context);
void (*free)
(const struct sieve_extension *ext,
struct sieve_validator *valdtr, void *context);
}; };
bool sieve_validator_extension_load bool sieve_validator_extension_load(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, struct sieve_command *cmd, struct sieve_command *cmd,
struct sieve_ast_argument *ext_arg, struct sieve_ast_argument *ext_arg,
const struct sieve_extension *ext, const struct sieve_extension *ext,
bool required) ATTR_NULL(2, 3); bool required) ATTR_NULL(2, 3);
const struct sieve_extension *sieve_validator_extension_load_by_name const struct sieve_extension *
(struct sieve_validator *valdtr, struct sieve_command *cmd, sieve_validator_extension_load_by_name(struct sieve_validator *valdtr,
struct sieve_ast_argument *ext_arg, const char *ext_name); struct sieve_command *cmd,
const struct sieve_extension *sieve_validator_extension_load_implicit struct sieve_ast_argument *ext_arg,
(struct sieve_validator *valdtr, const char *ext_name); const char *ext_name);
const struct sieve_extension *
void sieve_validator_extension_register sieve_validator_extension_load_implicit(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, const struct sieve_extension *ext, const char *ext_name);
const struct sieve_validator_extension *valext, void *context);
bool sieve_validator_extension_loaded void sieve_validator_extension_register(
(struct sieve_validator *valdtr, const struct sieve_extension *ext); struct sieve_validator *valdtr, const struct sieve_extension *ext,
const struct sieve_validator_extension *valext, void *context);
void sieve_validator_extension_set_context bool sieve_validator_extension_loaded(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, const struct sieve_extension *ext, const struct sieve_extension *ext);
void *context);
void *sieve_validator_extension_get_context void sieve_validator_extension_set_context(struct sieve_validator *valdtr,
(struct sieve_validator *valdtr, const struct sieve_extension *ext); const struct sieve_extension *ext,
void *context);
void *sieve_validator_extension_get_context(struct sieve_validator *valdtr,
const struct sieve_extension *ext);
/* /*
* Validator object registry * Validator object registry
...@@ -170,17 +174,20 @@ void *sieve_validator_extension_get_context ...@@ -170,17 +174,20 @@ void *sieve_validator_extension_get_context
struct sieve_validator_object_registry; struct sieve_validator_object_registry;
struct sieve_validator_object_registry *sieve_validator_object_registry_get struct sieve_validator_object_registry *
(struct sieve_validator *valdtr, const struct sieve_extension *ext); sieve_validator_object_registry_get(struct sieve_validator *valdtr,
void sieve_validator_object_registry_add const struct sieve_extension *ext);
(struct sieve_validator_object_registry *regs, void sieve_validator_object_registry_add(
const struct sieve_extension *ext, const struct sieve_object_def *obj_def); struct sieve_validator_object_registry *regs,
bool sieve_validator_object_registry_find const struct sieve_extension *ext,
(struct sieve_validator_object_registry *regs, const char *identifier, const struct sieve_object_def *obj_def);
struct sieve_object *obj); bool sieve_validator_object_registry_find(
struct sieve_validator_object_registry *sieve_validator_object_registry_create struct sieve_validator_object_registry *regs, const char *identifier,
(struct sieve_validator *valdtr); struct sieve_object *obj);
struct sieve_validator_object_registry *sieve_validator_object_registry_init struct sieve_validator_object_registry *
(struct sieve_validator *valdtr, const struct sieve_extension *ext); sieve_validator_object_registry_create(struct sieve_validator *valdtr);
struct sieve_validator_object_registry *
sieve_validator_object_registry_init(struct sieve_validator *valdtr,
const struct sieve_extension *ext);
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment

Consent

On this website, we use the web analytics service Matomo to analyze and review the use of our website. Through the collected statistics, we can improve our offerings and make them more appealing for you. Here, you can decide whether to allow us to process your data and set corresponding cookies for these purposes, in addition to technically necessary cookies. Further information on data protection—especially regarding "cookies" and "Matomo"—can be found in our privacy policy. You can withdraw your consent at any time.