aboutsummaryrefslogblamecommitdiffstats
path: root/mail/message-thread.h
blob: d5153cbfc0bd63ee9d7f577c2ad8772058a75de8 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


                         


                         



                                
                                        

                                                                    
                  

  








                                                                                                   

                                                                

                                                                   


                               
#ifndef _MESSAGE_THREAD_H
#define _MESSAGE_THREAD_H

#include <gnome.h>
#include "message-list.h"

struct _container {
    struct _container *next,
        *parent,
        *child;
    const CamelMessageInfo *message;
    char *root_subject; /* cached root equivalent subject */
    int re;         /* re version of subject? */
    int order;
};

struct _thread_messages {
    struct _container *tree;
};

struct _thread_messages *thread_messages(CamelFolder *folder, GPtrArray *uids);
void thread_messages_add(struct _thread_messages *thread, CamelFolder *folder, GPtrArray *uids);
void thread_messages_remove(struct _thread_messages *thread, CamelFolder *folder, GPtrArray *uids);
void thread_messages_free(struct _thread_messages *c);

void mail_do_thread_messages (MessageList *ml, GPtrArray *uids, 
                  gboolean use_camel_uidfree,
                  void (*build) (MessageList *,
                         struct _container *));

#endif /* !_MESSAGE_THREAD_H */