root/MimeDecode.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. CMimeDecode

// MimeDecode.h: CMimeDecode クラスのインターフェイス
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MIMEDECODE_H__F4358FA3_7996_4994_B5AA_9A8A9845626B__INCLUDED_)
#define AFX_MIMEDECODE_H__F4358FA3_7996_4994_B5AA_9A8A9845626B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "HeaderInfo.h"

class CMimeDecode
{
public:
        CString GetCharSet();
        BOOL IsPgpMime();
        void Initialize();
        CHeaderInfo m_hi;
        BOOL DoIt(CString path);
        BOOL DoIt2(CString mail);
        BOOL IsMultipart();
        int HowManyPart();
        int GetEncodingType(int part);
        CString GetFileName(int part);
        CString GetContentType(int part);
        CString GetMultipartType(); // multipartの種類を返す mixed altanative(multipart出ない場合は空のCStringを返す
        CString GetRawCT(int part);
        CString GetRawCD(int part);
        CString GetRawCTE(int part);
        void GetBody(int part, CStringArray &dst);
        CMimeDecode();
        virtual ~CMimeDecode();

protected:
        BOOL AnalyzeMultiPart(int start, CString boundary);
        BOOL GetHeaderEndPoint(CStringArray &mail, int &p);
        struct MULTIPART_STRUCT
        {
                int start;                              // ファイル中でmultipartの始まるところ
                int end;                                // 同じく終わるところ
                int end_header;                 // multipart中のヘッダの終わるところ
                CString boundary;               // パートが入れ子ならboudaryは空ではない
                CString name;                   // 添付ファイル等の名前
                CString content_type;   // text/plain text/html とか
                int encoding_type;              // 7bit 8bit bin base64 quoted-printable とか
                CString raw_content_type;
                CString raw_content_transfer_encoding;
                CString raw_content_disposition;
        };
        CArray<MULTIPART_STRUCT, MULTIPART_STRUCT> m_data;
        CStringArray m_mail;
};

#endif // !defined(AFX_MIMEDECODE_H__F4358FA3_7996_4994_B5AA_9A8A9845626B__INCLUDED_)

/* [<][>][^][v][top][bottom][index][help] */