Doing the double reply thing again...

Dan Weber <[EMAIL PROTECTED]> said:

> 
> Paul J Stevens wrote:
> 
> >
> > Aaron Stone wrote:
> >
> >> We should find a suitable replacement MIME parser that provides a 
> >> similar
> >> enough interface that it can be swapped in with just a few hours work.
> >
> > I guess there's no real contender: gmime.

There were a couple of other MIME libraries that I looked at. Although none
are as fully complete as gmime, we only need functionality to pick apart a
message, we don't need much decoding and we don't need to create messages. 

> >> Ilja Booij <[EMAIL PROTECTED]> said:
> >>
> >>> Paul J Stevens wrote:
> >>>
> >>>> Aaron Stone wrote:
> >>>>
> >>>>> I'm still skeptical about becoming dependant upon glib, so I'd 
> >>>>> prefer to see libtool's ltdl used. 
> >>>>
> >>>>
> I think ltdl should be used also, I listed some reasons below.
> 
> > I started out by trying to figure out how gmime's parser feels. I 
> > quickly managed to write a test that would parse messages, and split 
> > the message into a header/body GString pair, and split the body into a 
> > GList of messageblks. That was real easy, and the code footprint very 
> > small.

Already we're talking about GStrings and such, which means that we're looking
at a radically different codebase. Frankly, though, all strings should be
structs that look like this, which is definitely The Right Thing (TM)...

struct GString
{
  gchar *str;
  gint len;
};

> > But my guess is we'll want to do more and different things as time 
> > goes by. And I like how gobject allows clean data-encapsulation. So a 
> > OO approach just feels natural to me.

I suppose... but I'm not sure how much data encapsulation we really need.
Email is fairly simple, after all -- so the encapsulation will also be simple,
and at that point I start to wonder why we'd want a simple wrapper around
something simple?

> I suggest an OO approach wait till dbmail 2.1.  We are in the rc cycle 
> now, that kind of change would really hold the dbmail 2.0 release off 
> for a while.

Obviously. This isn't the question we're trying to answer, though.

> > But I agree that usefullness is strictly required :-)
> >
> > However, I don't see why we couldn't introduce gobject/glib interfaces 
> > incrementally. We'd introduce the gobject structure in a set of new 
> > header files, for instance:
> > dbmail-object.h
> > dbmail-user.h
> > dbmail-message.h
> > dbmail-server.h
> >
> > These wouldn't collide with the current namespace and could therefor 
> > be implemented without breakage.

Actually, the problem with our namespace right now is that there's basically
only three namespaces: auth, sql, everything else. I'd like to suggest moving
the repository to Subversion by year's end so that we can rearrange things to
be a little more better in the subdirectory department ;-)

> >> Dan Weber has a very good idea with making parts of DBMail available 
> >> through a library interface. If we're exposing a gobject, that means
> >> any front-end programs would also have to be written for glib. I'm OK
> >> with it being viral in that it might be spreading good-software karma,
> >> but I'm less comfortable with dictating how the library can be used.
> >
> >
>  From browsing through how glib's modules setup works, it doesn't 
> support the many platforms that libtool does, and I think its not very 
> cleanly.  As I said above, an OO design should wait till dbmail 2.1, 
> then we should implement glib and use a UML builder to get this on its 
> feet.  UML is essential to making a clean object oriented code base.

UML is buzzword compliant. It makes managers happy. It precludes real work.

> > Yes, to some extend. Of course it would probably preclude any takeover 
> > of dbmail by some big corporation with an allergy for gpl (think: 
> > apache re IBM, and zope/plone re CA).
> >
> > But writing the library with gobject would make writing wrappers for 
> > other languages a breeze.
> 
> Swig and few shots of espresso is the best way to make wrappers :)

SWIG looks really neat. Does it work with GObjects?

> [snip]
> 
> >>> The GMime version in Woody (current Debian stable), is very obsolete 
> >>> (from what I've seen). But.. The new stable is supposed to be 
> >>> released this year, isn't it?
> >>
> > Yeah. So they said last september as well.... don't hold your breath. 
> > I run debian/testing on many if not most of my production systems. I 
> > only keep stable around on a UML image for backporting dbmail :-)
> >
> Mailutils provides a very nice message parser.  Since its very complete, 
> maybe we should take a look at it?

-- 

Reply via email to