view src/lib-storage/index/dbox-multi/mdbox-file.h @ 12586:a2780b694b2d

lib-storage: mailbox_alloc() now takes a virtual mailbox name and other related API changes. All storage_name <-> vname conversions now go through the same two mailbox_list methods. This has many benefits, such as: * listescape plugin is now much simpler and bugfree * allows changing lib-storage API to use UTF-8 mailbox names in future * allows creation of "mailbox aliases" plugin
author Timo Sirainen <tss@iki.fi>
date Thu, 20 Jan 2011 20:59:07 +0200
parents 9e400f6963eb
children
line wrap: on
line source

#ifndef MDBOX_FILE_H
#define MDBOX_FILE_H

#include "dbox-file.h"

struct mdbox_file {
	struct dbox_file file;
	struct mdbox_storage *storage;

	uint32_t file_id;
	time_t close_time;
};

struct dbox_file *
mdbox_file_init(struct mdbox_storage *storage, uint32_t file_id);
struct dbox_file *
mdbox_file_init_new_alt(struct mdbox_storage *storage);

/* Assign file ID for a newly created file. */
int mdbox_file_assign_file_id(struct mdbox_file *file, uint32_t file_id);

void mdbox_file_unrefed(struct dbox_file *file);
int mdbox_file_create_fd(struct dbox_file *file, const char *path,
			 bool parents);

void mdbox_files_free(struct mdbox_storage *storage);
void mdbox_files_sync_input(struct mdbox_storage *storage);

#endif