|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
CamelFolderThreadNode; CamelFolderThread; CamelFolderThread * camel_folder_thread_messages_new (CamelFolder *folder,GPtrArray *uids,gboolean thread_subject); void camel_folder_thread_messages_apply (CamelFolderThread *thread,GPtrArray *uids); CamelFolderThread * camel_folder_thread_messages_new_summary (GPtrArray *summary); void camel_folder_thread_messages_add (CamelFolderThread *thread,GPtrArray *summary); void camel_folder_thread_messages_remove (CamelFolderThread *thread,GPtrArray *uids); void camel_folder_thread_messages_ref (CamelFolderThread *thread); void camel_folder_thread_messages_unref (CamelFolderThread *thread); gint camel_folder_threaded_messages_dump (CamelFolderThreadNode *c);
typedef struct {
	struct _CamelFolderThreadNode *next, *parent, *child;
	const CamelMessageInfo *message;
	gchar *root_subject; /* cached root equivalent subject */
	guint32 order : 31;
	guint32 re:1;			/* re version of subject? */
} CamelFolderThreadNode;
typedef struct {
	guint32 refcount : 31;
	guint32 subject : 1;
	struct _CamelFolderThreadNode *tree;
	CamelMemChunk *node_chunks;
	CamelFolder *folder;
	GPtrArray *summary;
} CamelFolderThread;
CamelFolderThread * camel_folder_thread_messages_new (CamelFolder *folder,GPtrArray *uids,gboolean thread_subject);
Thread a (subset) of the messages in a folder. And sort the result in summary order.
If thread_subject is TRUE, messages with
related subjects will also be threaded. The default behaviour is to
only thread based on message-id.
This function is probably to be removed soon.
| 
 | The subset of uid's to thread.  If NULL. then thread all
uid's in folder. | 
| 
 | thread based on subject also | 
| Returns : | A CamelFolderThread contianing a tree of CamelFolderThreadNode's which represent the threaded structure of the messages. | 
void camel_folder_thread_messages_apply (CamelFolderThread *thread,GPtrArray *uids);
CamelFolderThread * camel_folder_thread_messages_new_summary
                                                        (GPtrArray *summary);
Thread a list of MessageInfo's. The summary must remain valid for the life of the CamelFolderThread created by this function, and it is upto the caller to ensure this.
| 
 | Array of CamelMessageInfo's to thread. | 
| Returns : | A CamelFolderThread contianing a tree of CamelFolderThreadNode's which represent the threaded structure of the messages. | 
void camel_folder_thread_messages_add (CamelFolderThread *thread,GPtrArray *summary);
void camel_folder_thread_messages_remove (CamelFolderThread *thread,GPtrArray *uids);
void                camel_folder_thread_messages_ref    (CamelFolderThread *thread);
void                camel_folder_thread_messages_unref  (CamelFolderThread *thread);
Free all memory associated with the thread descriptor thread.
gint                camel_folder_threaded_messages_dump (CamelFolderThreadNode *c);