aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder-summary.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-03-25 13:18:55 +0800
committerDan Winship <danw@src.gnome.org>2000-03-25 13:18:55 +0800
commita74c859d8c64ac576255fbc36b5f59468b42ddce (patch)
tree3e71353e6c734cacedc11bc8a83ddf221812a77a /camel/camel-folder-summary.h
parent4af81200bb6f671aa581ef77d2c0b6e4c332fb81 (diff)
downloadgsoc2013-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.h27
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);