New revision. Some fixes.
1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org> * 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
This commit is contained in:

committed by
Bertrand Guiheneuf

parent
e716a2ed8b
commit
1ee21a1820
12
ChangeLog
12
ChangeLog
@ -1,9 +1,19 @@
|
|||||||
1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org>
|
1999-09-05 bertrand <Bertrand.Guiheneuf@aful.org>
|
||||||
|
|
||||||
|
* 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):
|
* tests/ui-tests/store_listing.c (show_folder_messages):
|
||||||
use folder summary instead of opening all messages.
|
use folder summary instead of opening all messages.
|
||||||
(show_folder_messages): re-enabled old CPU/Mem consumming
|
(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):
|
* camel/providers/MH/camel-mh-folder.c (_create_summary):
|
||||||
basic and highly non-efficient summary implementation.
|
basic and highly non-efficient summary implementation.
|
||||||
|
@ -213,7 +213,11 @@ _close (CamelFolder *folder, gboolean expunge)
|
|||||||
folder->open_state = FOLDER_CLOSE;
|
folder->open_state = FOLDER_CLOSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
camel_folder_close (CamelFolder *folder, gboolean expunge)
|
||||||
|
{
|
||||||
|
CF_CLASS(folder)->close (folder, expunge);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -71,9 +71,13 @@ struct _CamelFolder
|
|||||||
CamelStore *parent_store;
|
CamelStore *parent_store;
|
||||||
CamelFolder *parent_folder;
|
CamelFolder *parent_folder;
|
||||||
GList *permanent_flags;
|
GList *permanent_flags;
|
||||||
|
|
||||||
gboolean has_summary_capability;
|
gboolean has_summary_capability;
|
||||||
CamelFolderSummary *summary;
|
CamelFolderSummary *summary;
|
||||||
|
|
||||||
|
gboolean has_uid_capability;
|
||||||
|
|
||||||
|
|
||||||
GList *message_list;
|
GList *message_list;
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -121,6 +125,7 @@ GtkType camel_folder_get_type (void);
|
|||||||
/* public methods */
|
/* public methods */
|
||||||
CamelFolder *camel_folder_get_folder (CamelFolder *folder, gchar *folder_name);
|
CamelFolder *camel_folder_get_folder (CamelFolder *folder, gchar *folder_name);
|
||||||
void camel_folder_open (CamelFolder *folder, CamelFolderOpenMode mode);
|
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_create (CamelFolder *folder);
|
||||||
gboolean camel_folder_delete (CamelFolder *folder, gboolean recurse);
|
gboolean camel_folder_delete (CamelFolder *folder, gboolean recurse);
|
||||||
gboolean camel_folder_delete_messages (CamelFolder *folder);
|
gboolean camel_folder_delete_messages (CamelFolder *folder);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
Author: Bertrand Guiheneuf <Bertrand.Guiheneuf@aful.org>
|
Author: Bertrand Guiheneuf <Bertrand.Guiheneuf@aful.org>
|
||||||
Date: August 9th 1999
|
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 last version of this document is always available in gnome CVS in
|
||||||
the gnome-mailer module: devel-docs/misc/ref_and_id_proposition.txt
|
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.
|
parent folder.
|
||||||
|
|
||||||
This is a traditional method (JavaMail, MAPI) and it is very useful
|
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).
|
classical store (pop3 for example).
|
||||||
|
|
||||||
Moreover, various documents ([1], [2]) proposed to generalize the URL
|
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.
|
Method (1) already exists in IMAP.
|
||||||
It is quite simple to define on local stores (MH, mbox, ....) but it
|
It is quite simple to define on local stores (MH, mbox, ....) but it
|
||||||
may not resist to message modification by other MUA.
|
may not resist to message modification by other MUA.
|
||||||
Methods based on Message-id matching or message content-checksum seem
|
Methods based on Message-id matching or message content checksum seem
|
||||||
to be the best one. Using an "X-" header is another possibility on
|
to be the best one. Using an "X-" header is another possibility for
|
||||||
non-read only headers. A combination of these three methods may be the
|
non read-only folders. A combination of these three methods may be the
|
||||||
most reliable solution.
|
most reliable solution.
|
||||||
The UID is impossible to implement in a POP3 store provider.
|
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
|
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
|
if two had the same uid. It would be possible to find workarounds, but
|
||||||
it could make Camel use a bit tricky.
|
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)
|
CamelMimeMessage *camel_folder_get_message_by_uid (CamelFolder *folder, gchar *uid)
|
||||||
return the message which uid is %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)
|
gchar * camel_mime_message_get_uid (CamelMimeMessage *message)
|
||||||
return the uid associated to the message in its physical parent
|
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
|
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:
|
folders. More generally, we would like folders to be able to hold:
|
||||||
|
|
||||||
1) messages
|
1) messages
|
||||||
@ -145,7 +146,7 @@ folders. More generally, we would like folders to be able to hold:
|
|||||||
can hold messages and/or subfolders.
|
can hold messages and/or subfolders.
|
||||||
|
|
||||||
(3) is a different issue, because no existing mail store can currently
|
(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.
|
It will thus be a specific gnome-mailer extension.
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user