indicate missing keys and expired sigs/keys in mime view column
[claws.git] / src / procmime.h
index 5a853c342d85734578379888b788034f57fe7048..c757f7eed3a125e0c8cc1abe434200a2c61cdd04 100644 (file)
 #ifndef __PROCMIME_H__
 #define __PROCMIME_H__
 
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
 #ifdef HAVE_CONFIG_H
 #  include "config.h"
 #endif
 typedef struct _MimeType       MimeType;
 typedef struct _MimeInfo       MimeInfo;
 
-#include "procmsg.h"
-
 typedef enum
 {
        ENC_7BIT,
        ENC_8BIT,
+       ENC_BINARY,
        ENC_QUOTED_PRINTABLE,
        ENC_BASE64,
        ENC_X_UUENCODE,
@@ -52,9 +55,12 @@ typedef enum
        MIME_MULTIPART,
        MIME_IMAGE,
        MIME_AUDIO,
+       MIME_TEXT_ENRICHED,
        MIME_UNKNOWN
 } ContentType;
 
+#include "procmsg.h"
+
 struct _MimeType
 {
        gchar *type;
@@ -95,6 +101,7 @@ struct _MimeInfo
 
        gchar *content_disposition;
        gchar *filename;
+       gchar *description;
 
        glong fpos;
        guint size;
@@ -111,6 +118,10 @@ struct _MimeInfo
        gchar *plaintextfile;
        gchar *sigstatus;
        gchar *sigstatus_full;
+       gboolean sig_ok;
+       gboolean sig_unknown;
+       gboolean sig_expired;
+       gboolean key_expired;
 #endif
 
        gint level;
@@ -122,13 +133,12 @@ struct _MimeInfo
 /* MimeInfo handling */
 
 MimeInfo *procmime_mimeinfo_new                (void);
-void procmime_mimeinfo_free            (MimeInfo       *mimeinfo);
 void procmime_mimeinfo_free_all                (MimeInfo       *mimeinfo);
 
 MimeInfo *procmime_mimeinfo_insert     (MimeInfo       *parent,
                                         MimeInfo       *mimeinfo);
-void procmime_mimeinfo_replace         (MimeInfo       *old,
-                                        MimeInfo       *new);
+void procmime_mimeinfo_replace         (MimeInfo       *old_mimeinfo,
+                                        MimeInfo       *new_mimeinfo);
 
 MimeInfo *procmime_mimeinfo_next       (MimeInfo       *mimeinfo);
 
@@ -144,6 +154,10 @@ void procmime_scan_content_type            (MimeInfo       *mimeinfo,
                                         const gchar    *content_type);
 void procmime_scan_content_disposition (MimeInfo       *mimeinfo,
                                         const gchar    *content_disposition);
+void procmime_scan_content_description (MimeInfo       *mimeinfo,
+                                        const gchar    *content_description);
+void procmime_scan_subject              (MimeInfo       *mimeinfo,
+                                        const gchar    *subject);
 MimeInfo *procmime_scan_mime_header    (FILE           *fp);
 
 FILE *procmime_decode_content          (FILE           *outfp,
@@ -172,6 +186,14 @@ gchar *procmime_get_mime_type              (const gchar    *filename);
 GList *procmime_get_mime_type_list     (void);
 
 EncodingType procmime_get_encoding_for_charset (const gchar    *charset);
+EncodingType procmime_get_encoding_for_file    (const gchar    *file);
 const gchar *procmime_get_encoding_str         (EncodingType    encoding);
 
+void renderer_read_config(void);
+void renderer_write_config(void);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
 #endif /* __PROCMIME_H__ */