Hi. I'm working on a project to eventually produce a mailing list
server in Ada. I've completed the first major 'deliverable' for
the project, an email and MIME library in Ada 2005.
The project page is located at:
<http://hafdconsulting.com/libre/basil>
The library has the following capabilities:
* Serialization and unserialization of Messages, including those
with MIME parts, and API methods to easily do common things
with the message objects.
* An API for MIME children of message objects (and of other MIME
entities), based on the Ada List container. Essentially the
model is of a message object and a list of children, who can
themselves have children. More abstractly, it is a n-tree. I
provide a Cursor object for which you can choose one of two
traversal strategies. One simply walks the children of one
entity, and the other, 'recursive' strategy, walks the entire
n-tree.
* Very flexible parsers for RFC 2822 Date, Address, and Message
ID headers, and of RFC 2045 Content-Type and Content-Transfer-
Encoding headers. Data structures to represent such objects
(for the date it uses an Ada Time object), and means to
serialize the objects into fully compliant message headers.
* Base64 and Quoted-Printable encoding and decoding.
* Encapsualization and unencapsualization of message headers
containing non-ASCII values conforming to RFC 2047.
I've written a software specification for the library and a test
suite. I'll be writing a user manual shortly as well, but I've
also extensively commented the spec files to serve as a basis for
the adabrowse reference manual.
My original software spec do***ent didn't include sup****t for RFC 2183
Content-Disposition headers, so they aren't in this version of the
library, although they are rather im****tant for managing MIME parts so
I'll try to get that into the library soon. I'll probably hold off on
writing the manual until that's done.
Thanks,
--
Jordan Bettis


|