mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
lib: add notmuch_thread_get_total_files
This is relatively inexpensive in terms of run time and implementation cost as we are already traversing the list of messages in a thread.
This commit is contained in:
parent
8a8e2b11c2
commit
50340bcb78
2 changed files with 21 additions and 0 deletions
|
@ -1096,6 +1096,18 @@ notmuch_thread_get_thread_id (notmuch_thread_t *thread);
|
||||||
int
|
int
|
||||||
notmuch_thread_get_total_messages (notmuch_thread_t *thread);
|
notmuch_thread_get_total_messages (notmuch_thread_t *thread);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the total number of files in 'thread'.
|
||||||
|
*
|
||||||
|
* This sums notmuch_message_count_files over all messages in the
|
||||||
|
* thread
|
||||||
|
* @returns Non-negative integer
|
||||||
|
* @since libnotmuch 5.0 (notmuch 0.25)
|
||||||
|
*/
|
||||||
|
|
||||||
|
int
|
||||||
|
notmuch_thread_get_total_files (notmuch_thread_t *thread);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a notmuch_messages_t iterator for the top-level messages in
|
* Get a notmuch_messages_t iterator for the top-level messages in
|
||||||
* 'thread' in oldest-first order.
|
* 'thread' in oldest-first order.
|
||||||
|
|
|
@ -44,6 +44,7 @@ struct _notmuch_thread {
|
||||||
|
|
||||||
GHashTable *message_hash;
|
GHashTable *message_hash;
|
||||||
int total_messages;
|
int total_messages;
|
||||||
|
int total_files;
|
||||||
int matched_messages;
|
int matched_messages;
|
||||||
time_t oldest;
|
time_t oldest;
|
||||||
time_t newest;
|
time_t newest;
|
||||||
|
@ -266,6 +267,7 @@ _thread_add_message (notmuch_thread_t *thread,
|
||||||
_notmuch_message_list_add_message (thread->message_list,
|
_notmuch_message_list_add_message (thread->message_list,
|
||||||
talloc_steal (thread, message));
|
talloc_steal (thread, message));
|
||||||
thread->total_messages++;
|
thread->total_messages++;
|
||||||
|
thread->total_files += notmuch_message_count_files (message);
|
||||||
|
|
||||||
g_hash_table_insert (thread->message_hash,
|
g_hash_table_insert (thread->message_hash,
|
||||||
xstrdup (notmuch_message_get_message_id (message)),
|
xstrdup (notmuch_message_get_message_id (message)),
|
||||||
|
@ -495,6 +497,7 @@ _notmuch_thread_create (void *ctx,
|
||||||
free, NULL);
|
free, NULL);
|
||||||
|
|
||||||
thread->total_messages = 0;
|
thread->total_messages = 0;
|
||||||
|
thread->total_files = 0;
|
||||||
thread->matched_messages = 0;
|
thread->matched_messages = 0;
|
||||||
thread->oldest = 0;
|
thread->oldest = 0;
|
||||||
thread->newest = 0;
|
thread->newest = 0;
|
||||||
|
@ -566,6 +569,12 @@ notmuch_thread_get_total_messages (notmuch_thread_t *thread)
|
||||||
return thread->total_messages;
|
return thread->total_messages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
notmuch_thread_get_total_files (notmuch_thread_t *thread)
|
||||||
|
{
|
||||||
|
return thread->total_files;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
notmuch_thread_get_matched_messages (notmuch_thread_t *thread)
|
notmuch_thread_get_matched_messages (notmuch_thread_t *thread)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue