Re: New possible design iterations



On Tue, 2006-05-09 at 23:01 +0200, Philip Van Hoof wrote:
> On Tue, 2006-05-09 at 12:55 +0200, Philip Van Hoof wrote:
> 
> > o. Create a Online-Observable (interface and singleton). Make
> > TnyCamelSession an observer of the Online-Observable. Make it possible
> > to implement the interface on a specific device. For example on a
> > WinCE
> > device, some ActiveSync techniques could be used. On a Nokia device
> > other specific techniques could be used.
> 
> This is my current idea for the observable pattern on this one. Note
> that the TnyDeviceEventType will be a "typedef enum" in C. I might
> implement the attaching of an observer using GLib signals
> (g_signal_add). I'm not yet sure about that. The notify would then have
> to be implemented using the g_signal_emit stuff.

This is the interface

https://svn.cronos.be/svn/tinymail/trunk/libtinymail/tny-device-iface.c
https://svn.cronos.be/svn/tinymail/trunk/libtinymail/tny-device-iface.h

It's not yet implemented (for the desktop, which I will, as a demo, do
it -- it will probably use HAL --), nor is it already used (but will
soon be). I also already refactored the TnySession- Camel to be a normal
type being used by only the TnyAccount abstract class and the
TnyAccountStore of the demo-ui.

That last one is going to see a refactoring in iteration three our four.
I'm going try remove the fact that it's singleton. That way it will be
possible to have multiple account stores configured. But as this doesn't
have a high priority, don't worry about it to much.

For now will the device type be used by the account store to let the
TnySessionCamel subscribe as observer of it (at the constructor of the
account store will that happen, temporarily). Something I'm going to do
one of these days. Probably tomorrow.

Once this work is finished, going offline and online will set tinymail
is correct state (offline or online viewing of E-mails). Teams porting
tinymail to a specific device don't have to open source their device
type. If the LGPL in some way or another still forces you to open source
it, and you don't want that, talk to me .. I'll give you authorization
to keep it closed source (if that is what you want, but I don't
recommend it and I do think the LGPL already gives you all the rights
you need for that. Unless I'm missing something crucial about the
license).


-- 
Philip Van Hoof, software developer at x-tend 
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
work: vanhoof at x-tend dot be 
http://www.pvanhoof.be - http://www.x-tend.be




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]