diff options
author | Dan Winship <danw@src.gnome.org> | 2000-03-25 13:18:55 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-03-25 13:18:55 +0800 |
commit | a74c859d8c64ac576255fbc36b5f59468b42ddce (patch) | |
tree | 3e71353e6c734cacedc11bc8a83ddf221812a77a /camel/camel-folder-summary.h | |
parent | 4af81200bb6f671aa581ef77d2c0b6e4c332fb81 (diff) | |
download | gsoc2013-evolution-a74c859d8c64ac576255fbc36b5f59468b42ddce.tar.gz gsoc2013-evolution-a74c859d8c64ac576255fbc36b5f59468b42ddce.tar.zst gsoc2013-evolution-a74c859d8c64ac576255fbc36b5f59468b42ddce.zip |
change the CamelFolderSummary interfaces to allow partial summary queries
* camel-folder-summary.[ch]: change the CamelFolderSummary
interfaces to allow partial summary queries (for dealing
with very large folders). Remove the "extended_fields" from
CamelFolderInfo and CamelMessageInfo: this is better dealt
with by subtyping.
* providers/mbox/camel-mbox-summary.[ch]: Make CamelMboxSummary a
subclass of CamelFolderSummary. Update interfaces for that. Remove
the internal/external summary distinction. Remove the (unused) md5
checksum in the folder summary. Change the summary file format
(primarily to make it no longer byte-order dependent) and add a
version number to it so it will be easier to change in the future.
* providers/mbox/camel-mbox-folder.[ch]
* providers/mbox/camel-mbox-search.c
* providers/mbox/camel-mbox-utils.c: update for summary changes
* camel-exception-list.def: add
CAMEL_EXCEPTION_FOLDER_SUMMARY_INVALID
svn path=/trunk/; revision=2159
Diffstat (limited to 'camel/camel-folder-summary.h')
-rw-r--r-- | camel/camel-folder-summary.h | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h index 88fe86bd9f..720e09118f 100644 --- a/camel/camel-folder-summary.h +++ b/camel/camel-folder-summary.h @@ -51,8 +51,6 @@ typedef struct { gint nb_message; gint nb_unread_message; gint nb_deleted_message; - - GHashTable *extended_fields; } CamelFolderInfo; @@ -71,9 +69,6 @@ typedef struct { guint32 size; gchar *uid; - - GHashTable *extended_fields; - } CamelMessageInfo; @@ -81,9 +76,6 @@ typedef struct { struct _CamelFolderSummary { GtkObject parent_object; - - GArray *subfolder_info_list; /* informations on subfolders */ - GArray *message_info_list; /* informations on messages */ }; @@ -94,8 +86,13 @@ typedef struct { GtkObjectClass parent_class; /* Virtual methods */ - const GArray * (*get_subfolder_info_list) (CamelFolderSummary *summary); - const GArray * (*get_message_info_list) (CamelFolderSummary *summary); + int (*count_messages) (CamelFolderSummary *summary); + int (*count_subfolders) (CamelFolderSummary *summary); + + GPtrArray * (*get_subfolder_info) (CamelFolderSummary *summary, + int first, int count); + GPtrArray * (*get_message_info) (CamelFolderSummary *summary, + int first, int count); } CamelFolderSummaryClass; @@ -106,11 +103,13 @@ GtkType camel_folder_summary_get_type (void); /* public methods */ -CamelFolderSummary *camel_folder_summary_new (); +int camel_folder_summary_count_messages (CamelFolderSummary *summary); +int camel_folder_summary_count_subfolders (CamelFolderSummary *summary); -/* get information about the messages and the subfolders in the directory */ -const GArray *camel_folder_summary_get_subfolder_info_list (CamelFolderSummary *summary); -const GArray *camel_folder_summary_get_message_info_list (CamelFolderSummary *summary); +GPtrArray *camel_folder_summary_get_subfolder_info (CamelFolderSummary *summary, + int first, int count); +GPtrArray *camel_folder_summary_get_message_info (CamelFolderSummary *summary, + int first, int count); |