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. For future always pragmatize my UML class diagrams. When they get trans- lated to GObject/C it might look quite different. I'll try to keep it as recognisable as possible. The main purpose of a class diagram is, for me, to recognise the patterns and see the big picture slash idea. If you ever decide to make one (for example when illustrating your ideas), I can handle whatever Dia, Umbrello, ArgoUML and Topcased generate. Also try to keep the diagram focused on the feature you're planning to implement. I'm less interested in one huge UML class diagram that fully shows the complete design of all tinymail components. I prefer many good and focused class diagrams. I will try to produce as much as possible. That way the current design will be double documented, I hope. I'm assuming a developer who'd like to help tinymail development knows (or learns about) the basic-basic UML notations (interfaces, associations, messages, classes, inheritance, implement, etcetera). I'm fine with describing what your draw if its still hard to explain your idea using only UML. I'd hate to draw your idea just to know what you meant after you wrote eight pages of design description. And we should probably do a VoIP standup meeting and draw the idea together. I'm very interested in collaboration tools that can help with that. Perhaps simply a VNC desktop. I can probably arrange that on a good connection. ps. Please *do* let me know what you think and/or have suggestions. Nokia people: you guys will have to implement the TnyNokia770Device type for tinymail if you want to use libtinymail for the Maemo platform. GPE people will have to implement the TnyPocketPCDevice type. And so on. -- 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
Attachment:
online_observer.png
Description: PNG image
Attachment:
OnlineObserver.uml2di
Description: application/xml