From: Timo Sirainen Date: Mon, 7 Dec 2009 19:43:39 +0000 (-0500) Subject: lib-storage: Added mail_user_is_plugin_loaded(). X-Git-Tag: 2.0.beta1~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd7cbb32412c2f4d2d223af66672535bc1237246;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Added mail_user_is_plugin_loaded(). --HG-- branch : HEAD --- diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index 72cc61a157..03d4d88c3c 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -4,6 +4,7 @@ #include "array.h" #include "hostpid.h" #include "network.h" +#include "module-dir.h" #include "home-expand.h" #include "str.h" #include "strescape.h" @@ -279,6 +280,18 @@ int mail_user_get_home(struct mail_user *user, const char **home_r) return ret; } +bool mail_user_is_plugin_loaded(struct mail_user *user, struct module *module) +{ + const char *const *plugins; + bool ret; + + T_BEGIN { + plugins = t_strsplit_spaces(user->set->mail_plugins, ", "); + ret = str_array_find(plugins, module_get_plugin_name(module)); + } T_END; + return ret; +} + const char *mail_user_plugin_getenv(struct mail_user *user, const char *name) { return mail_user_set_plugin_getenv(user->set, name); diff --git a/src/lib-storage/mail-user.h b/src/lib-storage/mail-user.h index 1593626f14..2672e41609 100644 --- a/src/lib-storage/mail-user.h +++ b/src/lib-storage/mail-user.h @@ -3,6 +3,7 @@ #include "mail-storage-settings.h" +struct module; struct mail_user; struct mail_user_vfuncs { @@ -88,6 +89,9 @@ int mail_user_get_home(struct mail_user *user, const char **home_r); /* Returns path + file prefix for creating a temporary file. Uses home directory if possible, fallbacks to mail directory. */ const char *mail_user_get_temp_prefix(struct mail_user *user); + +/* Returns TRUE if plugin is loaded for the user. */ +bool mail_user_is_plugin_loaded(struct mail_user *user, struct module *module); /* If name exists in plugin_envs, return its value. */ const char *mail_user_plugin_getenv(struct mail_user *user, const char *name); const char *mail_user_set_plugin_getenv(const struct mail_user_settings *set,