aboutsummaryrefslogtreecommitdiffstats
path: root/devel-docs
diff options
context:
space:
mode:
Diffstat (limited to 'devel-docs')
-rw-r--r--devel-docs/camel/README_AND_TODO.txt43
1 files changed, 43 insertions, 0 deletions
diff --git a/devel-docs/camel/README_AND_TODO.txt b/devel-docs/camel/README_AND_TODO.txt
new file mode 100644
index 0000000000..a842e57bd1
--- /dev/null
+++ b/devel-docs/camel/README_AND_TODO.txt
@@ -0,0 +1,43 @@
+Camel is currently (conceptually) separated in four parts:
+
+* the session handling
+* the storage mechanism.
+* the (mime) message handling.
+* some general utilities class/functions.
+
+
+
+* Session handling
+------------------
+
+(This is not gnome session managing related)
+CamelSession is an object used to store some parameters on a user
+basis. This can be a permanent (fs based) or volatile
+(ram only) storage depending on user preferences.
+The session object is, for example, responsible for
+remmbering authentication datas during application lifetime.
+It is also responsible for selecting and loading providers
+corresponding to protocols. In the case where only one
+provider exists for a given protocols, the task is trivial,
+but when multiple providers exist for a given protocol, the
+user can choose its prefered one. Given its relationship
+with providers, the session objects is also used to instanciate
+a store given an URL.
+
+Associated Classes:
+ CamelSession
+ implementation: 5%
+
+Associated Files:
+ camel-provider.[ch]
+ implementation: 2.5% (a struct in camel-provider.h)
+
+
+* the storage mechanism.
+------------------------
+
+The storage mechanism is mainly represented by
+the Store class and the Folder class.
+* the (mime) message handling.
+* some general utilities class/functions.
+