1
<refentry id="camel-camel-folder-thread">
3
<refentrytitle role="top_of_page" id="camel-camel-folder-thread.top_of_page">camel-folder-thread</refentrytitle>
4
<manvolnum>3</manvolnum>
5
<refmiscinfo>CAMEL Library</refmiscinfo>
9
<refname>camel-folder-thread</refname>
10
<refpurpose></refpurpose>
13
<refsynopsisdiv id="camel-camel-folder-thread.synopsis" role="synopsis">
14
<title role="synopsis.title">Synopsis</title>
17
<link linkend="CamelFolderThreadNode">CamelFolderThreadNode</link>;
18
<link linkend="CamelFolderThread">CamelFolderThread</link>;
19
<link linkend="CamelFolderThread">CamelFolderThread</link> * <link linkend="camel-folder-thread-messages-new">camel_folder_thread_messages_new</link> (<link linkend="CamelFolder">CamelFolder</link> *folder,
20
<link linkend="GPtrArray">GPtrArray</link> *uids,
21
<link linkend="gboolean">gboolean</link> thread_subject);
22
<link linkend="void">void</link> <link linkend="camel-folder-thread-messages-apply">camel_folder_thread_messages_apply</link> (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread,
23
<link linkend="GPtrArray">GPtrArray</link> *uids);
24
<link linkend="CamelFolderThread">CamelFolderThread</link> * <link linkend="camel-folder-thread-messages-new-summary">camel_folder_thread_messages_new_summary</link>
25
(<link linkend="GPtrArray">GPtrArray</link> *summary);
26
<link linkend="void">void</link> <link linkend="camel-folder-thread-messages-add">camel_folder_thread_messages_add</link> (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread,
27
<link linkend="GPtrArray">GPtrArray</link> *summary);
28
<link linkend="void">void</link> <link linkend="camel-folder-thread-messages-remove">camel_folder_thread_messages_remove</link> (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread,
29
<link linkend="GPtrArray">GPtrArray</link> *uids);
30
<link linkend="void">void</link> <link linkend="camel-folder-thread-messages-ref">camel_folder_thread_messages_ref</link> (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread);
31
<link linkend="void">void</link> <link linkend="camel-folder-thread-messages-unref">camel_folder_thread_messages_unref</link> (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread);
32
<link linkend="gint">gint</link> <link linkend="camel-folder-threaded-messages-dump">camel_folder_threaded_messages_dump</link> (<link linkend="CamelFolderThreadNode">CamelFolderThreadNode</link> *c);
44
<refsect1 id="camel-camel-folder-thread.description" role="desc">
45
<title role="desc.title">Description</title>
50
<refsect1 id="camel-camel-folder-thread.details" role="details">
51
<title role="details.title">Details</title>
52
<refsect2 id="CamelFolderThreadNode" role="struct">
53
<title>CamelFolderThreadNode</title>
54
<indexterm zone="CamelFolderThreadNode"><primary sortas="CamelFolderThreadNode">CamelFolderThreadNode</primary></indexterm><programlisting>typedef struct {
55
struct _CamelFolderThreadNode *next, *parent, *child;
56
const CamelMessageInfo *message;
57
gchar *root_subject; /* cached root equivalent subject */
59
guint32 re:1; /* re version of subject? */
60
} CamelFolderThreadNode;
64
<refsect2 id="CamelFolderThread" role="struct">
65
<title>CamelFolderThread</title>
66
<indexterm zone="CamelFolderThread"><primary sortas="CamelFolderThread">CamelFolderThread</primary></indexterm><programlisting>typedef struct {
67
guint32 refcount : 31;
70
struct _CamelFolderThreadNode *tree;
71
struct _EMemChunk *node_chunks;
78
<refsect2 id="camel-folder-thread-messages-new" role="function">
79
<title>camel_folder_thread_messages_new ()</title>
80
<indexterm zone="camel-folder-thread-messages-new"><primary sortas="camel_folder_thread_messages_new">camel_folder_thread_messages_new</primary></indexterm><programlisting><link linkend="CamelFolderThread">CamelFolderThread</link> * camel_folder_thread_messages_new (<link linkend="CamelFolder">CamelFolder</link> *folder,
81
<link linkend="GPtrArray">GPtrArray</link> *uids,
82
<link linkend="gboolean">gboolean</link> thread_subject);</programlisting>
84
Thread a (subset) of the messages in a folder. And sort the result
88
If <parameter>thread_subject</parameter> is <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, messages with
89
related subjects will also be threaded. The default behaviour is to
90
only thread based on message-id.
93
This function is probably to be removed soon.</para>
95
</para><variablelist role="params">
96
<varlistentry><term><parameter>folder</parameter> :</term>
98
</simpara></listitem></varlistentry>
99
<varlistentry><term><parameter>uids</parameter> :</term>
100
<listitem><simpara> The subset of uid's to thread. If NULL. then thread all
101
uid's in <parameter>folder</parameter>.
102
</simpara></listitem></varlistentry>
103
<varlistentry><term><parameter>thread_subject</parameter> :</term>
104
<listitem><simpara> thread based on subject also
105
</simpara></listitem></varlistentry>
106
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A CamelFolderThread contianing a tree of CamelFolderThreadNode's
107
which represent the threaded structure of the messages.
108
</simpara></listitem></varlistentry>
109
</variablelist></refsect2>
110
<refsect2 id="camel-folder-thread-messages-apply" role="function">
111
<title>camel_folder_thread_messages_apply ()</title>
112
<indexterm zone="camel-folder-thread-messages-apply"><primary sortas="camel_folder_thread_messages_apply">camel_folder_thread_messages_apply</primary></indexterm><programlisting><link linkend="void">void</link> camel_folder_thread_messages_apply (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread,
113
<link linkend="GPtrArray">GPtrArray</link> *uids);</programlisting>
115
</para><variablelist role="params">
116
<varlistentry><term><parameter>thread</parameter> :</term>
118
</simpara></listitem></varlistentry>
119
<varlistentry><term><parameter>uids</parameter> :</term>
121
</simpara></listitem></varlistentry>
122
</variablelist></refsect2>
123
<refsect2 id="camel-folder-thread-messages-new-summary" role="function">
124
<title>camel_folder_thread_messages_new_summary ()</title>
125
<indexterm zone="camel-folder-thread-messages-new-summary"><primary sortas="camel_folder_thread_messages_new_summary">camel_folder_thread_messages_new_summary</primary></indexterm><programlisting><link linkend="CamelFolderThread">CamelFolderThread</link> * camel_folder_thread_messages_new_summary
126
(<link linkend="GPtrArray">GPtrArray</link> *summary);</programlisting>
128
Thread a list of MessageInfo's. The summary must remain valid for the
129
life of the CamelFolderThread created by this function, and it is upto the
130
caller to ensure this.</para>
132
</para><variablelist role="params">
133
<varlistentry><term><parameter>summary</parameter> :</term>
134
<listitem><simpara> Array of CamelMessageInfo's to thread.
135
</simpara></listitem></varlistentry>
136
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> A CamelFolderThread contianing a tree of CamelFolderThreadNode's
137
which represent the threaded structure of the messages.
138
</simpara></listitem></varlistentry>
139
</variablelist></refsect2>
140
<refsect2 id="camel-folder-thread-messages-add" role="function">
141
<title>camel_folder_thread_messages_add ()</title>
142
<indexterm zone="camel-folder-thread-messages-add"><primary sortas="camel_folder_thread_messages_add">camel_folder_thread_messages_add</primary></indexterm><programlisting><link linkend="void">void</link> camel_folder_thread_messages_add (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread,
143
<link linkend="GPtrArray">GPtrArray</link> *summary);</programlisting>
145
</para><variablelist role="params">
146
<varlistentry><term><parameter>thread</parameter> :</term>
148
</simpara></listitem></varlistentry>
149
<varlistentry><term><parameter>summary</parameter> :</term>
151
</simpara></listitem></varlistentry>
152
</variablelist></refsect2>
153
<refsect2 id="camel-folder-thread-messages-remove" role="function">
154
<title>camel_folder_thread_messages_remove ()</title>
155
<indexterm zone="camel-folder-thread-messages-remove"><primary sortas="camel_folder_thread_messages_remove">camel_folder_thread_messages_remove</primary></indexterm><programlisting><link linkend="void">void</link> camel_folder_thread_messages_remove (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread,
156
<link linkend="GPtrArray">GPtrArray</link> *uids);</programlisting>
158
</para><variablelist role="params">
159
<varlistentry><term><parameter>thread</parameter> :</term>
161
</simpara></listitem></varlistentry>
162
<varlistentry><term><parameter>uids</parameter> :</term>
164
</simpara></listitem></varlistentry>
165
</variablelist></refsect2>
166
<refsect2 id="camel-folder-thread-messages-ref" role="function">
167
<title>camel_folder_thread_messages_ref ()</title>
168
<indexterm zone="camel-folder-thread-messages-ref"><primary sortas="camel_folder_thread_messages_ref">camel_folder_thread_messages_ref</primary></indexterm><programlisting><link linkend="void">void</link> camel_folder_thread_messages_ref (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread);</programlisting>
170
</para><variablelist role="params">
171
<varlistentry><term><parameter>thread</parameter> :</term>
173
</simpara></listitem></varlistentry>
174
</variablelist></refsect2>
175
<refsect2 id="camel-folder-thread-messages-unref" role="function">
176
<title>camel_folder_thread_messages_unref ()</title>
177
<indexterm zone="camel-folder-thread-messages-unref"><primary sortas="camel_folder_thread_messages_unref">camel_folder_thread_messages_unref</primary></indexterm><programlisting><link linkend="void">void</link> camel_folder_thread_messages_unref (<link linkend="CamelFolderThread">CamelFolderThread</link> *thread);</programlisting>
179
Free all memory associated with the thread descriptor <parameter>thread</parameter>.</para>
181
</para><variablelist role="params">
182
<varlistentry><term><parameter>thread</parameter> :</term>
184
</simpara></listitem></varlistentry>
185
</variablelist></refsect2>
186
<refsect2 id="camel-folder-threaded-messages-dump" role="function">
187
<title>camel_folder_threaded_messages_dump ()</title>
188
<indexterm zone="camel-folder-threaded-messages-dump"><primary sortas="camel_folder_threaded_messages_dump">camel_folder_threaded_messages_dump</primary></indexterm><programlisting><link linkend="gint">gint</link> camel_folder_threaded_messages_dump (<link linkend="CamelFolderThreadNode">CamelFolderThreadNode</link> *c);</programlisting>
190
</para><variablelist role="params">
191
<varlistentry><term><parameter>c</parameter> :</term>
193
</simpara></listitem></varlistentry>
194
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
195
</simpara></listitem></varlistentry>
196
</variablelist></refsect2>