mail-index-dummy-view.c revision 7cb128dc4cae2a03a742f63ba7afee23c78e3af0
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek/* Copyright (c) 2004-2015 Dovecot authors, see the included COPYING file */
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek#include "lib.h"
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek#include "array.h"
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek#include "mail-index-private.h"
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek#include "mail-index-view-private.h"
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozekstatic void dummy_view_close(struct mail_index_view *view ATTR_UNUSED)
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek{
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek i_assert(view->refcount == 0);
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek array_free(&view->module_contexts);
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek i_free(view);
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek}
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozekstatic uint32_t
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozekdummy_view_get_message_count(struct mail_index_view *view ATTR_UNUSED)
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek{
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek return (uint32_t)-3;
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek}
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek
2186f88e0449f2303dc84e98c88379ccf8e55714Lukas Slebodnikstatic struct mail_index_view_vfuncs dummy_view_vfuncs = {
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek dummy_view_close,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek dummy_view_get_message_count,
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek NULL,
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek NULL,
b9c563c29243291f40489bb0dcbf3946fca72d58Jakub Hrozek NULL,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek NULL,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek NULL,
1ec4198f38d34a1f82a2db55d8c9782a434fb55fJakub Hrozek NULL,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek NULL,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek NULL,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek NULL
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek};
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozekstruct mail_index_view *mail_index_dummy_view_open(struct mail_index *index)
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek{
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek struct mail_index_view *view;
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek view = i_new(struct mail_index_view, 1);
786c40023e1348e7613805446ae821af7030b5d3Fabiano Fidêncio view->refcount = 1;
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek view->v = dummy_view_vfuncs;
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek view->index = index;
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek i_array_init(&view->module_contexts,
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek I_MIN(5, mail_index_module_register.id));
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek return view;
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek}
9dcdbf596e138df3eec202487549a67cd3b0091bJakub Hrozek