On Thu, 19 Dec 2002, nick elprin wrote: > Does anyone know how well abstracted the storage mechanism in the UW > code is?
All access to a mail store (whether it be a network protocol, a local filesystem object, or a database) in UW imapd is done via a driver, which is a set of routines that implements various methods. Certain of these methods are mandatory to implement; e.g. open, close. Other methods are mandatory-to-implement between two options; e.g. you can implement "header" and "text" methods and let the c-client library do all MIME handling, or implement the more advanced "msgdata" method if the database understands MIME to the extent required by IMAP. Still other methods are optional-to-implement, e.g. search (if you don't implement it, the c-client library will do it). Look at the existing drivers of various forms to see what you need to do. I recommend starting with the imap4r1 client driver, since if you're going to do a database for an IMAP server you might as well do it right and implement something that is aligned with IMAP. -- Mark -- http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate.
