list->set = mail_user_set_get_driver_settings(_list->ns->user->set_info,
_list->ns->user_set,
- IMAPC_STORAGE_NAME);
+ imapc_get_setting_parser_info());
if (imapc_storage_client_create(_list->ns, list->set, _list->mail_set,
&list->client, error_r) < 0)
return -1;
ns->unexpanded_set = unexpanded_set;
ns->user_set = user_all_settings;
ns->mail_set = mail_user_set_get_driver_settings(user->set_info,
- ns->user_set, MAIL_STORAGE_SET_DRIVER_NAME);
+ ns->user_set, &mail_storage_setting_parser_info);
i_array_init(&ns->all_storages, 2);
if (strcmp(ns_set->type, "private") == 0) {
const struct mail_storage_settings *mail_set;
mail_set = mail_user_set_get_driver_settings(user_info, user_set,
- MAIL_STORAGE_SET_DRIVER_NAME);
+ &mail_storage_setting_parser_info);
return mail_set->mail_debug;
}
{
return mail_user_set_get_driver_settings(
user->user_info, user->user_set,
- MAIL_STORAGE_SET_DRIVER_NAME);
+ &mail_storage_setting_parser_info);
}
const struct mail_storage_service_input *
};
const void *
-mail_user_set_get_driver_settings(const struct setting_parser_info *info,
+mail_user_set_get_driver_settings(const struct setting_parser_info *base_info,
const struct mail_user_settings *set,
- const char *driver)
+ const struct setting_parser_info *info)
{
const void *dset;
- dset = settings_find_dynamic(info, set, driver);
+ dset = settings_find_dynamic_by_info(base_info, set, info);
if (dset == NULL) {
i_panic("Default settings not found for storage driver %s",
- driver);
+ info->module_name);
}
return dset;
}
mail_user_set_get_storage_set(struct mail_user *user)
{
return mail_user_set_get_driver_settings(user->set_info, user->set,
- MAIL_STORAGE_SET_DRIVER_NAME);
+ &mail_storage_setting_parser_info);
}
const void *mail_namespace_get_driver_settings(struct mail_namespace *ns,
struct mail_storage *storage)
{
return mail_user_set_get_driver_settings(storage->user->set_info,
- ns->user_set, storage->name);
+ ns->user_set, storage->v.get_setting_parser_info());
}
const struct dynamic_settings_parser *
struct ssl_iostream_settings;
const void *
-mail_user_set_get_driver_settings(const struct setting_parser_info *info,
+mail_user_set_get_driver_settings(const struct setting_parser_info *base_info,
const struct mail_user_settings *set,
- const char *driver);
+ const struct setting_parser_info *info);
const struct mail_storage_settings *
mail_user_set_get_storage_set(struct mail_user *user);
if (*location == '\0') {
mail_set = mail_user_set_get_driver_settings(user->set_info,
- user->unexpanded_set, MAIL_STORAGE_SET_DRIVER_NAME);
+ user->unexpanded_set, &mail_storage_setting_parser_info);
i_assert(mail_set != NULL);
location = mail_set->mail_location;
if (*location == SETTING_STRVAR_EXPANDED[0])