/src/pigeonhole/src/lib-sieve/plugins/environment/sieve-ext-environment.h
Line | Count | Source |
1 | | #ifndef SIEVE_EXT_ENVIRONMENT_H |
2 | | #define SIEVE_EXT_ENVIRONMENT_H |
3 | | |
4 | | #include "sieve-common.h" |
5 | | |
6 | | /* |
7 | | * Environment extension |
8 | | */ |
9 | | |
10 | | /* FIXME: this is not suitable for future plugin support */ |
11 | | |
12 | | extern const struct sieve_extension_def environment_extension; |
13 | | |
14 | | static inline int |
15 | | sieve_ext_environment_get_extension(struct sieve_instance *svinst, |
16 | | const struct sieve_extension **ext_r) |
17 | 0 | { |
18 | 0 | return sieve_extension_register(svinst, &environment_extension, FALSE, |
19 | 0 | ext_r); |
20 | 0 | } Unexecuted instantiation: ext-environment.c:sieve_ext_environment_get_extension Unexecuted instantiation: tst-environment.c:sieve_ext_environment_get_extension Unexecuted instantiation: ext-vnd-environment.c:sieve_ext_environment_get_extension Unexecuted instantiation: ext-environment-common.c:sieve_ext_environment_get_extension Unexecuted instantiation: ext-vnd-environment-items.c:sieve_ext_environment_get_extension Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_ext_environment_get_extension |
21 | | |
22 | | static inline int |
23 | | sieve_ext_environment_require_extension(struct sieve_instance *svinst, |
24 | | const struct sieve_extension **ext_r) |
25 | 0 | { |
26 | 0 | return sieve_extension_require(svinst, &environment_extension, TRUE, |
27 | 0 | ext_r); |
28 | 0 | } Unexecuted instantiation: ext-environment.c:sieve_ext_environment_require_extension Unexecuted instantiation: tst-environment.c:sieve_ext_environment_require_extension Unexecuted instantiation: ext-vnd-environment.c:sieve_ext_environment_require_extension Unexecuted instantiation: ext-environment-common.c:sieve_ext_environment_require_extension Unexecuted instantiation: ext-vnd-environment-items.c:sieve_ext_environment_require_extension Unexecuted instantiation: ext-vnd-environment-variables.c:sieve_ext_environment_require_extension |
29 | | |
30 | | bool sieve_ext_environment_is_active(const struct sieve_extension *env_ext, |
31 | | struct sieve_interpreter *interp); |
32 | | |
33 | | /* |
34 | | * Environment item |
35 | | */ |
36 | | |
37 | | struct sieve_environment_item; |
38 | | |
39 | | struct sieve_environment_item_def { |
40 | | const char *name; |
41 | | bool prefix; |
42 | | |
43 | | const char *value; |
44 | | const char *(*get_value)(const struct sieve_runtime_env *renv, |
45 | | const struct sieve_environment_item *item, |
46 | | const char *name); |
47 | | }; |
48 | | |
49 | | struct sieve_environment_item { |
50 | | const struct sieve_environment_item_def *def; |
51 | | const struct sieve_extension *ext; |
52 | | }; |
53 | | |
54 | | void sieve_environment_item_register( |
55 | | const struct sieve_extension *env_ext, struct sieve_interpreter *interp, |
56 | | const struct sieve_extension *ext, |
57 | | const struct sieve_environment_item_def *item_def); |
58 | | const char * |
59 | | ext_environment_item_get_value(const struct sieve_extension *env_ext, |
60 | | const struct sieve_runtime_env *renv, |
61 | | const char *name); |
62 | | |
63 | | #endif |