diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-09-05 10:00:53 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-09-05 10:00:53 +0000 |
commit | 3bf24b9336184fe9e28f7e09b9c5200a5f82b7d2 (patch) | |
tree | 51ccac6f26dcdf9fcfac1a7879477bfde2759b80 /src/procmime.h | |
parent | 11776e5a524745b01ac145439ac2892a29bd0826 (diff) |
moved more modules to libsylph.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@548 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/procmime.h')
-rw-r--r-- | src/procmime.h | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/src/procmime.h b/src/procmime.h deleted file mode 100644 index fc2085a9..00000000 --- a/src/procmime.h +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999-2005 Hiroyuki Yamamoto - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __PROCMIME_H__ -#define __PROCMIME_H__ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <glib.h> -#include <stdio.h> - -typedef struct _MimeType MimeType; -typedef struct _MimeInfo MimeInfo; - -#include "procmsg.h" -#include "utils.h" - -typedef enum -{ - ENC_7BIT, - ENC_8BIT, - ENC_QUOTED_PRINTABLE, - ENC_BASE64, - ENC_X_UUENCODE, - ENC_UNKNOWN -} EncodingType; - -typedef enum -{ - MIME_TEXT, - MIME_TEXT_HTML, - MIME_MESSAGE_RFC822, - MIME_APPLICATION, - MIME_APPLICATION_OCTET_STREAM, - MIME_MULTIPART, - MIME_IMAGE, - MIME_AUDIO, - MIME_UNKNOWN -} ContentType; - -struct _MimeType -{ - gchar *type; - gchar *sub_type; - - gchar *extension; -}; - -/* - * An example of MimeInfo structure: - * - * multipart/mixed root <-+ parent - * | - * multipart/alternative children <-+ parent - * | - * text/plain children --+ - * | - * text/html next <-+ - * - * message/rfc822 next <-+ main - * | - * sub (capsulated message) - * - * image/jpeg next - */ - -struct _MimeInfo -{ - gchar *encoding; - - EncodingType encoding_type; - ContentType mime_type; - - gchar *content_type; - gchar *charset; - gchar *name; - gchar *boundary; - - gchar *content_disposition; - gchar *filename; - - glong fpos; - guint size; - guint content_size; - - MimeInfo *main; - MimeInfo *sub; - - MimeInfo *next; - MimeInfo *parent; - MimeInfo *children; - -#if USE_GPGME - MimeInfo *plaintext; - gchar *plaintextfile; - gchar *sigstatus; - gchar *sigstatus_full; -#endif - - gint level; -}; - -#define IS_BOUNDARY(s, bnd, len) \ - (bnd && s[0] == '-' && s[1] == '-' && !strncmp(s + 2, bnd, len)) - -/* MimeInfo handling */ - -MimeInfo *procmime_mimeinfo_new (void); -void procmime_mimeinfo_free_all (MimeInfo *mimeinfo); - -MimeInfo *procmime_mimeinfo_insert (MimeInfo *parent, - MimeInfo *mimeinfo); -void procmime_mimeinfo_replace (MimeInfo *old, - MimeInfo *new); - -MimeInfo *procmime_mimeinfo_next (MimeInfo *mimeinfo); - -MimeInfo *procmime_scan_message (MsgInfo *msginfo); -void procmime_scan_multipart_message (MimeInfo *mimeinfo, - FILE *fp); - -/* scan headers */ - -void procmime_scan_encoding (MimeInfo *mimeinfo, - const gchar *encoding); -void procmime_scan_content_type (MimeInfo *mimeinfo, - const gchar *content_type); -void procmime_scan_content_type_str (const gchar *content_type, - gchar **mime_type, - gchar **charset, - gchar **name, - gchar **boundary); -void procmime_scan_content_disposition (MimeInfo *mimeinfo, - const gchar *content_disposition); -MimeInfo *procmime_scan_mime_header (FILE *fp); - -FILE *procmime_decode_content (FILE *outfp, - FILE *infp, - MimeInfo *mimeinfo); -gint procmime_get_part (const gchar *outfile, - const gchar *infile, - MimeInfo *mimeinfo); -gint procmime_get_part_fp (const gchar *outfile, - FILE *infp, - MimeInfo *mimeinfo); -FILE *procmime_get_text_content (MimeInfo *mimeinfo, - FILE *infp, - const gchar *encoding); -FILE *procmime_get_first_text_content (MsgInfo *msginfo, - const gchar *encoding); - -gboolean procmime_find_string_part (MimeInfo *mimeinfo, - const gchar *filename, - const gchar *str, - StrFindFunc find_func); -gboolean procmime_find_string (MsgInfo *msginfo, - const gchar *str, - StrFindFunc find_func); - -gchar *procmime_get_part_file_name (MimeInfo *mimeinfo); -gchar *procmime_get_tmp_file_name (MimeInfo *mimeinfo); - -ContentType procmime_scan_mime_type (const gchar *mime_type); -gchar *procmime_get_mime_type (const gchar *filename); - -EncodingType procmime_get_encoding_for_charset (const gchar *charset); -EncodingType procmime_get_encoding_for_text_file(const gchar *file); -const gchar *procmime_get_encoding_str (EncodingType encoding); - -#endif /* __PROCMIME_H__ */ |