mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
lib: Add an iterator over all messages in a thread
Previously, getting the list of all messages in a thread required recursively traversing the thread's message hierarchy, which was both difficult and resulted in messages being out of order. This adds a public function to retrieve an iterator over all of the messages in a thread in oldest-first order.
This commit is contained in:
parent
d6e3905df7
commit
f29bcc59df
2 changed files with 13 additions and 6 deletions
|
@ -719,20 +719,21 @@ int
|
|||
notmuch_thread_get_total_messages (notmuch_thread_t *thread);
|
||||
|
||||
/* Get a notmuch_messages_t iterator for the top-level messages in
|
||||
* 'thread'.
|
||||
* 'thread' in oldest-first order.
|
||||
*
|
||||
* This iterator will not necessarily iterate over all of the messages
|
||||
* in the thread. It will only iterate over the messages in the thread
|
||||
* which are not replies to other messages in the thread.
|
||||
*
|
||||
* To iterate over all messages in the thread, the caller will need to
|
||||
* iterate over the result of notmuch_message_get_replies for each
|
||||
* top-level message (and do that recursively for the resulting
|
||||
* messages, etc.).
|
||||
*/
|
||||
notmuch_messages_t *
|
||||
notmuch_thread_get_toplevel_messages (notmuch_thread_t *thread);
|
||||
|
||||
/* Get a notmuch_thread_t iterator for all messages in 'thread' in
|
||||
* oldest-first order.
|
||||
*/
|
||||
notmuch_messages_t *
|
||||
notmuch_thread_get_messages (notmuch_thread_t *thread);
|
||||
|
||||
/* Get the number of messages in 'thread' that matched the search.
|
||||
*
|
||||
* This count includes only the messages in this thread that were
|
||||
|
|
|
@ -508,6 +508,12 @@ notmuch_thread_get_toplevel_messages (notmuch_thread_t *thread)
|
|||
return _notmuch_messages_create (thread->toplevel_list);
|
||||
}
|
||||
|
||||
notmuch_messages_t *
|
||||
notmuch_thread_get_messages (notmuch_thread_t *thread)
|
||||
{
|
||||
return _notmuch_messages_create (thread->message_list);
|
||||
}
|
||||
|
||||
const char *
|
||||
notmuch_thread_get_thread_id (notmuch_thread_t *thread)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue