[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Competitors...
From: |
Alain Magloire |
Subject: |
Re: Competitors... |
Date: |
Wed, 15 Nov 2000 09:34:14 -0500 (EST) |
>
> http://www.helixcode.com/tech/camel.php3
After a quick look, this is more or less what we're doing.
We have an abstraction object mailbox_t that serves as a container
for messages(message_t). A message is consist of two other objects
a body and a header. All this objects have stream flows (call stream_t)
that allows you to read/write. That's basicly it. Then orbiting
we have and aggregation of little objects to make live easier,
authenticator_t (User/passwd/Apop/etc..), mime_t a container of messages
that allows to create attachement, debug_t, observer_t, attribute_t ....
So depending on the protocol, POP, MBOX, SMTP, the functions/methods
on a particular object is overloaded. For exemple:
reading a stream for a message in POP maps to a RETR no
for a header it's map to TOP no. For a local (unix) Mailbox it maps
to fseek() and read() et ..
On of the last abstraction to be define is folder_t, a container
for mailboxes wich should conver the capabilities of IMAP and NNTP..
Some others are search/threading abstraction, and I really like the
idea of the Virtual folder.
For GNU mailutils, the pieces are getting in place, but it's true
I did not expect things to take so long. Tend to forget that
life sometimes will give you other priorities.
--
au revoir, alain
----
Aussi haut que l'on soit assis, on n'est toujours assis que sur son cul !!!