0.9.7claws10
[claws.git] / src / procmsg.h
index fef815ffd82ef605adcf3add8240a41789bf9297..e5d78542cf77c14b576bbde829be3acc6e8adcef 100644 (file)
@@ -32,6 +32,7 @@
 
 typedef struct _MsgInfo                        MsgInfo;
 typedef struct _MsgFlags               MsgFlags;
+typedef struct _MsgFileInfo            MsgFileInfo;
 typedef struct _MsgInfoUpdate          MsgInfoUpdate;
 typedef struct _MailFilteringData      MailFilteringData;
 
@@ -44,7 +45,9 @@ typedef GSList MsgNumberList;
 #define MSG_DELETED            (1U << 3)
 #define MSG_REPLIED            (1U << 4)
 #define MSG_FORWARDED          (1U << 5)
+#if 0
 #define MSG_REALLY_DELETED     (1U << 6)               /* mbox stuff */
+#endif
 
 #define MSG_CLABEL_SBIT        (7)             /* start bit of color label */
 #define MAKE_MSG_CLABEL(h, m, l)       (((h) << (MSG_CLABEL_SBIT + 2)) | \
@@ -70,7 +73,8 @@ typedef GSList MsgNumberList;
 
 #define MSG_IGNORE_THREAD      (1U << 10)   /* ignore threads */
 #define MSG_LOCKED             (1U << 11)   /* msg is locked  */
-#define MSG_RETRCPT_PENDING    (1U << 12)   /* return receipt pending */
+#define MSG_RETRCPT_SENT       (1U << 12)   /* new one */ 
+                                               
 /* RESERVED */
 #define        MSG_RESERVED_CLAWS      (1U << 30)   /* for sylpheed-claws */
 #define        MSG_RESERVED            (1U << 31)
@@ -137,13 +141,19 @@ typedef guint32 MsgTmpFlags;
 #define MSG_IS_REALLY_DELETED(msg)     (((msg).perm_flags & MSG_REALLY_DELETED) != 0)
 #define MSG_IS_IGNORE_THREAD(msg)      (((msg).perm_flags & MSG_IGNORE_THREAD) != 0)
 #define MSG_IS_RETRCPT_PENDING(msg)    (((msg).perm_flags & MSG_RETRCPT_PENDING) != 0)
+#define MSG_IS_RETRCPT_SENT(msg)       (((msg).perm_flags & MSG_RETRCPT_SENT) != 0)
 
 #define MSGINFO_UPDATE_HOOKLIST "msginfo_update"
 #define MAIL_FILTERING_HOOKLIST "mail_filtering_hooklist"
 
-#include "folder.h"
+typedef enum {
+       MSGINFO_UPDATE_FLAGS = 1 << 0,
+       MSGINFO_UPDATE_DELETED = 1 << 1,
+} MsgInfoUpdateFlags;
+
 #include "procmime.h"
 #include "prefs_filtering.h"
+#include "folder.h"
 
 struct _MsgFlags
 {
@@ -194,8 +204,16 @@ struct _MsgInfo
        guint decryption_failed : 1;
 };
 
+struct _MsgFileInfo
+{
+       MsgInfo *msginfo;
+        gchar *file;
+        MsgFlags *flags;
+};
+
 struct _MsgInfoUpdate {
        MsgInfo *msginfo;
+       MsgInfoUpdateFlags flags;
 };
 
 struct _MailFilteringData
@@ -227,11 +245,9 @@ void       procmsg_copy_messages           (GSList         *mlist);
 
 gchar  *procmsg_get_message_file_path  (MsgInfo        *msginfo);
 gchar  *procmsg_get_message_file       (MsgInfo        *msginfo);
+GSList *procmsg_get_message_file_list  (MsgInfoList    *mlist);
+void   procmsg_message_file_list_free  (MsgInfoList    *file_list);
 FILE   *procmsg_open_message           (MsgInfo        *msginfo);
-#if USE_GPGME
-FILE   *procmsg_open_message_decrypted (MsgInfo        *msginfo,
-                                        MimeInfo      **mimeinfo);
-#endif
 gboolean procmsg_msg_exist             (MsgInfo        *msginfo);
 
 void   procmsg_get_filter_keyword      (MsgInfo          *msginfo,