[Kde-pim] Design Review: KMime::ContentStrategy
Allen Winter
winter at kde.org
Sun Oct 26 23:40:48 GMT 2008
On Saturday 25 October 2008 12:43:32 pm Stephen Kelly wrote:
> Hi,
>
> While looking into support for inline images in kmail (rfc2557,
> multipart/related), I saw a lot of comments since 2001 that kmail would be
> ported to kmime 'soon'. Instead of learning to use mimelib to create
> multipart/related messages, I've been looking into using kmime instead.
>
Yay!
> As part of that I've been thinking about some convenience classes for client
> applications to use kmime (Armed again with my design patterns book). The
> result is in svn here:
>
> http://websvn.kde.org/trunk/playground/pim/kmimecontentstrategy
>
> It requires a quick and dirty work-in-progress patch to kdepimlibs/kmime.
>
> The idea is to allow chaining of strategies for building a mime message.
> Different parts can be added to the message with a EncryptionStrategy,
> and/or a SigningStrategy, CompressionStrategy etc. There are examples in
> mailclient.cpp. Attachments, Related and Alternatives are also handled with
> strategies. It should make kmails code for composing messages much simpler.
>
> I haven't yet looked into how the encryption and signing jobs currently in
> kmail work. I imagine they do their work in worker threads. I think this
> design also allows for all that. I also haven't looked into writing the
> CompressionStrategy yet.
>
> The KMime patch adds a class for Content-Location headers, which doesn't
> work. Anyone know why?
>
Not me. Maybe vkrause or toma knows.
> The dirty part of it is this it adds a replaceContent method to the Content
> class. I know it doesn't handle most headers that it would need to, but I
> just wanted to test my new classes. A better name for it might be
> setContent(Content*). The reason for it is that the way I designed
> ContentStrategy doesn't really fit with content->addContent which has the
> side effect of making content multipart/mixed.
>
>
> Any thoughts or better ideas?
>
Very happy to see this work.
Would love to see mimelib finally removed.
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list