[evolution-data-server] Add camel_imapx_folder_copy_message_map().
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Add camel_imapx_folder_copy_message_map().
- Date: Sun, 27 Oct 2013 14:53:13 +0000 (UTC)
commit 134aaa35973523bb54319d1ad61ad9dd4cae74e9
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Oct 4 13:14:21 2013 -0400
Add camel_imapx_folder_copy_message_map().
Returns a GSequence of 32-bit integers representing the locally cached
mapping of message sequence numbers to unique identifiers.
camel/camel-imapx-folder.c | 39 +++++++++++++++++++++++++++++++
camel/camel-imapx-folder.h | 2 +
docs/reference/camel/camel-sections.txt | 1 +
3 files changed, 42 insertions(+), 0 deletions(-)
---
diff --git a/camel/camel-imapx-folder.c b/camel/camel-imapx-folder.c
index 5a1f31f..8bcdf67 100644
--- a/camel/camel-imapx-folder.c
+++ b/camel/camel-imapx-folder.c
@@ -1201,6 +1201,45 @@ camel_imapx_folder_set_quota_root_names (CamelIMAPXFolder *folder,
}
/**
+ * camel_imapx_folder_copy_message_map:
+ * @folder: a #CamelIMAPXFolder
+ *
+ * Returns a #GSequence of 32-bit integers representing the locally cached
+ * mapping of message sequence numbers to unique identifiers.
+ *
+ * Free the returns #GSequence with g_sequence_free().
+ *
+ * Returns: a #GSequence
+ *
+ * Since: 3.12
+ **/
+GSequence *
+camel_imapx_folder_copy_message_map (CamelIMAPXFolder *folder)
+{
+ CamelFolderSummary *summary;
+ GSequence *message_map;
+ GPtrArray *array;
+ guint ii;
+
+ g_return_val_if_fail (CAMEL_IS_IMAPX_FOLDER (folder), NULL);
+
+ summary = CAMEL_FOLDER (folder)->summary;
+ array = camel_folder_summary_get_array (summary);
+ camel_folder_sort_uids (CAMEL_FOLDER (folder), array);
+
+ message_map = g_sequence_new (NULL);
+
+ for (ii = 0; ii < array->len; ii++) {
+ guint32 uid = strtoul (array->pdata[ii], NULL, 10);
+ g_sequence_append (message_map, GUINT_TO_POINTER (uid));
+ }
+
+ camel_folder_summary_free_array (array);
+
+ return message_map;
+}
+
+/**
* camel_imapx_folder_add_move_to_real_junk:
* @folder: a #CamelIMAPXFolder
* @message_uid: a message UID
diff --git a/camel/camel-imapx-folder.h b/camel/camel-imapx-folder.h
index ccebbc4..a4acec0 100644
--- a/camel/camel-imapx-folder.h
+++ b/camel/camel-imapx-folder.h
@@ -96,6 +96,8 @@ gchar ** camel_imapx_folder_dup_quota_root_names
void camel_imapx_folder_set_quota_root_names
(CamelIMAPXFolder *folder,
const gchar **quota_root_names);
+GSequence * camel_imapx_folder_copy_message_map
+ (CamelIMAPXFolder *folder);
void camel_imapx_folder_add_move_to_real_junk
(CamelIMAPXFolder *folder,
const gchar *message_uid);
diff --git a/docs/reference/camel/camel-sections.txt b/docs/reference/camel/camel-sections.txt
index 9c076bb..073c543 100644
--- a/docs/reference/camel/camel-sections.txt
+++ b/docs/reference/camel/camel-sections.txt
@@ -783,6 +783,7 @@ CamelIMAPXFolder
camel_imapx_folder_new
camel_imapx_folder_dup_quota_root_names
camel_imapx_folder_set_quota_root_names
+camel_imapx_folder_copy_message_map
camel_imapx_folder_add_move_to_real_junk
camel_imapx_folder_add_move_to_real_trash
camel_imapx_folder_invalidate_local_cache
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]