Mercurial > dovecot > core-2.2
view src/lib-storage/proxy-mail-storage.c @ 1915:79790750c349 HEAD
importing new index code. mbox still broken.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 27 Apr 2004 23:25:52 +0300 |
parents | ee8fb7ab106f |
children | 25a8c7c21a7a |
line wrap: on
line source
/* Copyright (C) 2003 Timo Sirainen */ #include "lib.h" #include "proxy-mail-storage.h" static void _destroy(struct mail_storage *storage) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->destroy(s->storage); } static void _set_callbacks(struct mail_storage *storage, struct mail_storage_callbacks *callbacks, void *context) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; s->storage->set_callbacks(s->storage, callbacks, context); } static struct mailbox *_mailbox_open(struct mail_storage *storage, const char *name, enum mailbox_open_flags flags) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->mailbox_open(s->storage, name, flags); } static int _mailbox_create(struct mail_storage *storage, const char *name, int only_hierarchy) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->mailbox_create(s->storage, name, only_hierarchy); } static int _mailbox_delete(struct mail_storage *storage, const char *name) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->mailbox_delete(s->storage, name); } static int _mailbox_rename(struct mail_storage *storage, const char *oldname, const char *newname) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->mailbox_rename(s->storage, oldname, newname); } static struct mailbox_list_context * _mailbox_list_init(struct mail_storage *storage, const char *mask, enum mailbox_list_flags flags) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->mailbox_list_init(s->storage, mask, flags); } static int _set_subscribed(struct mail_storage *storage, const char *name, int set) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->set_subscribed(s->storage, name, set); } static int _get_mailbox_name_status(struct mail_storage *storage, const char *name, enum mailbox_name_status *status) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->get_mailbox_name_status(s->storage, name, status); } static const char *_get_last_error(struct mail_storage *storage, int *syntax_error) { struct proxy_mail_storage *s = (struct proxy_mail_storage *) storage; return s->storage->get_last_error(s->storage, syntax_error); } void proxy_mail_storage_init(struct proxy_mail_storage *proxy, struct mail_storage *storage) { struct mail_storage *ps = &proxy->proxy_storage; proxy->storage = storage; ps->name = storage->name; ps->hierarchy_sep = storage->hierarchy_sep; ps->create = storage->create; ps->autodetect = storage->autodetect; ps->mailbox_list_deinit = storage->mailbox_list_deinit; ps->mailbox_list_next = storage->mailbox_list_next; ps->destroy = _destroy; ps->set_callbacks = _set_callbacks; ps->mailbox_open = _mailbox_open; ps->mailbox_create = _mailbox_create; ps->mailbox_delete = _mailbox_delete; ps->mailbox_rename = _mailbox_rename; ps->mailbox_list_init = _mailbox_list_init; ps->set_subscribed = _set_subscribed; ps->get_mailbox_name_status = _get_mailbox_name_status; ps->get_last_error = _get_last_error; }