From 1ee21a1820a06e6512eb82e17f75894d252a7257 Mon Sep 17 00:00:00 2001 From: bertrand Date: Sun, 5 Sep 1999 17:48:59 +0000 Subject: New revision. Some fixes. 1999-09-05 bertrand * devel-docs/misc/ref_and_id_proposition.txt: New revision. Some fixes. * camel/camel-folder.h (struct _CamelFolder): added uid_capability field. * started to work on UIDs svn path=/trunk/; revision=1180 --- ChangeLog | 12 +++++++++++- camel/camel-folder.c | 6 +++++- camel/camel-folder.h | 5 +++++ devel-docs/misc/ref_and_id_proposition.txt | 19 ++++++++++--------- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 45f60f3fcb..04e6c0b89e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,19 @@ 1999-09-05 bertrand + * devel-docs/misc/ref_and_id_proposition.txt: + New revision. Some fixes. + + * camel/camel-folder.h (struct _CamelFolder): added + uid_capability field. + + + * camel/camel-folder.c (camel_folder_close): publicized + the close method. + * tests/ui-tests/store_listing.c (show_folder_messages): use folder summary instead of opening all messages. (show_folder_messages): re-enabled old CPU/Mem consumming - method. Use ful for pop3 for instance. + method. Useful for pop3 for instance. * camel/providers/MH/camel-mh-folder.c (_create_summary): basic and highly non-efficient summary implementation. diff --git a/camel/camel-folder.c b/camel/camel-folder.c index 1cd3b41dc6..f70fa6f342 100644 --- a/camel/camel-folder.c +++ b/camel/camel-folder.c @@ -213,7 +213,11 @@ _close (CamelFolder *folder, gboolean expunge) folder->open_state = FOLDER_CLOSE; } - +void +camel_folder_close (CamelFolder *folder, gboolean expunge) +{ + CF_CLASS(folder)->close (folder, expunge); +} diff --git a/camel/camel-folder.h b/camel/camel-folder.h index 0715396ca7..3a9d99d3a8 100644 --- a/camel/camel-folder.h +++ b/camel/camel-folder.h @@ -71,9 +71,13 @@ struct _CamelFolder CamelStore *parent_store; CamelFolder *parent_folder; GList *permanent_flags; + gboolean has_summary_capability; CamelFolderSummary *summary; + gboolean has_uid_capability; + + GList *message_list; }; @@ -121,6 +125,7 @@ GtkType camel_folder_get_type (void); /* public methods */ CamelFolder *camel_folder_get_folder (CamelFolder *folder, gchar *folder_name); void camel_folder_open (CamelFolder *folder, CamelFolderOpenMode mode); +void camel_folder_close (CamelFolder *folder, gboolean expunge); gboolean camel_folder_create (CamelFolder *folder); gboolean camel_folder_delete (CamelFolder *folder, gboolean recurse); gboolean camel_folder_delete_messages (CamelFolder *folder); diff --git a/devel-docs/misc/ref_and_id_proposition.txt b/devel-docs/misc/ref_and_id_proposition.txt index 961cdfb872..2127b45a57 100644 --- a/devel-docs/misc/ref_and_id_proposition.txt +++ b/devel-docs/misc/ref_and_id_proposition.txt @@ -1,6 +1,7 @@ Author: Bertrand Guiheneuf Date: August 9th 1999 -Version: 0.1 +Last revision date : September 3rd 1999 +Version: 0.2 The last version of this document is always available in gnome CVS in the gnome-mailer module: devel-docs/misc/ref_and_id_proposition.txt @@ -19,7 +20,7 @@ where number is an integer representing the message rank within its parent folder. This is a traditional method (JavaMail, MAPI) and it is very useful -because this is often the only way to get a identify message in a +because this is often the only way to get a message in from a classical store (pop3 for example). Moreover, various documents ([1], [2]) proposed to generalize the URL @@ -80,9 +81,9 @@ Basically, we have two choices: Method (1) already exists in IMAP. It is quite simple to define on local stores (MH, mbox, ....) but it may not resist to message modification by other MUA. -Methods based on Message-id matching or message content-checksum seem -to be the best one. Using an "X-" header is another possibility on -non-read only headers. A combination of these three methods may be the +Methods based on Message-id matching or message content checksum seem +to be the best one. Using an "X-" header is another possibility for +non read-only folders. A combination of these three methods may be the most reliable solution. The UID is impossible to implement in a POP3 store provider. @@ -96,7 +97,7 @@ The M-ID is also impossible to implement in a POP3 store provider. We may not rely on external MUA and MTA to guarentee the uniqueness of -the identifier . We may lose messages by never being able to read them +the identifier . We may loose messages by never being able to read them if two had the same uid. It would be possible to find workarounds, but it could make Camel use a bit tricky. @@ -121,7 +122,7 @@ gchar * camel_folder_get_message_uid (CamelFolder *folder, CamelMimeMessage *mes CamelMimeMessage *camel_folder_get_message_by_uid (CamelFolder *folder, gchar *uid) return the message which uid is %uid -In addition, the CamelFolder Class will have a new public method +In addition, the CamelMessage Class will have a new public method gchar * camel_mime_message_get_uid (CamelMimeMessage *message) return the uid associated to the message in its physical parent @@ -134,7 +135,7 @@ B) Handling message references in (v)folders. We want the future Gnome mailer to be able to build (virtual) folders -holding references to messages located physically in other +holding references to messages physically located in other folders. More generally, we would like folders to be able to hold: 1) messages @@ -145,7 +146,7 @@ folders. More generally, we would like folders to be able to hold: can hold messages and/or subfolders. (3) is a different issue, because no existing mail store can currently -hold within folders references to messages in other folders. +hold, within folders, references to messages in other folders. It will thus be a specific gnome-mailer extension. -- cgit v1.2.3