00001 #ifndef foomodulehfoo 00002 #define foomodulehfoo 00003 00004 /* $Id: module.h 27 2003-10-22 22:34:06Z lennart $ */ 00005 00006 /*** 00007 This file is part of libnewmail 00008 00009 libnewmail is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 libnewmail is distributed in the hope that it will be useful, but 00015 WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with libnewmail; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00022 USA 00023 ***/ 00024 00031 #include <ltdl.h> 00032 #include "newmail.h" 00033 #include "config.h" 00034 00037 struct nm_spool { 00038 lt_dlhandle dl; 00039 char *data; 00040 config_t *config; 00041 char *path; 00043 int (*query) (struct nm_spool *s, enum nm_query query, struct nm_status *status); 00046 int (*query_submit) (struct nm_spool *s, enum nm_query query, oop_source* oop, nm_query_cb_t cb, void *user); 00049 int (*configure) (struct nm_spool *s); 00052 int (*info) (struct nm_spool *s, struct nm_info *i); 00055 void (*done) (struct nm_spool *s); 00057 }; 00058 00068 typedef int (*nm_init_t) (struct nm_spool *s); 00069 00070 #endif