Meego Wiki
Views

Architecture/planning/evolution-data-server/email-design

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
-
EMailFactory will be a dbus daemon, that runs camel session. The camel session controls the providers of IMAP/POP/Exchange/* and keeps checking emails, and serves CamelStore/CamelFolder/CamelMimeMessage/* over DBUS to its clients. Below is a high level architecture diagram of how the various pieces fit together.
+
EMailFactory will be a dbus daemon, that runs camel session. The camel session controls the providers of IMAP/POP/Exchange/* and keeps checking emails, and serves CamelStore/CamelFolder/CamelMimeMessage/* over DBUS to its clients. Below is a high level architecture diagram of how the various pieces fit together, displayed below.
[[File:Email-daemon-design-complete.png]]
[[File:Email-daemon-design-complete.png]]
-
The QMF wrappers provide QMF API (mostly) compatible library that wraps & built around DBus Camel APIs. The QMailID which is a 64bit id unique for every email could a unique string formed by 8-byte hash of CamelStore & CamelFolder appended to the UID (used similarly in vFolders of Evolution). This way the forward & reverse lookup works and is static. Most of the APIs look similar apart and the Object hierarchy is also similar, though some complication needs to be worked around.
 
-
== Objects in place ==
+
== Source  ==
-
CamelMimeMessage <-> QMailMessage<br>
+
The Camel Daemon code is now in gnome git, in the email-factory branch.
-
CamelStore <-> QMailStore <br>
+
http://git.gnome.org/browse/evolution-data-server/log/?h=email-factory has the code the for the daemon:
-
CamelFolder <-> QMailFolder<br>
+
 
 +
The DBus API currently provided by the Daemon is below. In a high level, it is a async wrapper around the camel's session/folder/store API.
 +
http://git.gnome.org/browse/evolution-data-server/tree/mail/daemon/e-mail-data-folder.xml?h=email-factory
 +
http://git.gnome.org/browse/evolution-data-server/tree/mail/daemon/e-mail-data-store.xml?h=email-factory
 +
http://git.gnome.org/browse/evolution-data-server/tree/mail/daemon/e-mail-data-session.xml?h=email-factory

Revision as of 09:48, 11 April 2011

EMailFactory will be a dbus daemon, that runs camel session. The camel session controls the providers of IMAP/POP/Exchange/* and keeps checking emails, and serves CamelStore/CamelFolder/CamelMimeMessage/* over DBUS to its clients. Below is a high level architecture diagram of how the various pieces fit together, displayed below.

Email-daemon-design-complete.png


Source

The Camel Daemon code is now in gnome git, in the email-factory branch. http://git.gnome.org/browse/evolution-data-server/log/?h=email-factory has the code the for the daemon:

The DBus API currently provided by the Daemon is below. In a high level, it is a async wrapper around the camel's session/folder/store API. http://git.gnome.org/browse/evolution-data-server/tree/mail/daemon/e-mail-data-folder.xml?h=email-factory http://git.gnome.org/browse/evolution-data-server/tree/mail/daemon/e-mail-data-store.xml?h=email-factory http://git.gnome.org/browse/evolution-data-server/tree/mail/daemon/e-mail-data-session.xml?h=email-factory

Personal tools