root/MimeDecode.h
/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- 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_)