acl  3.5.3.0
acl::mime_body类 参考

#include <mime_body.hpp>

+ 类 acl::mime_body 继承关系图:
+ acl::mime_body 的协作图:

Public 成员函数

 mime_body (const char *emailFile, const MIME_NODE *node, bool htmlFirst=true, bool enableDecode=true, const char *toCharset="gb2312", off_t off=0)
 
 ~mime_body (void)
 
void set_status (bool htmlFirst)
 
bool save_body (pipe_manager &out, const char *src=NULL, int len=0)
 
bool save_body (ostream &out, const char *src=NULL, int len=0)
 
bool save_body (const char *file_path, const char *src=NULL, int len=0)
 
bool save_body (pipe_string &out, const char *src=NULL, int len=0)
 
bool save_body (string &out, const char *src=NULL, int len=0)
 
bool html_stype (void) const
 
- Public 成员函数 继承自 acl::mime_node
 mime_node (const char *emailFile, const MIME_NODE *node, bool enableDecode=true, const char *toCharset="gb2312", off_t off=0)
 
virtual ~mime_node (void)
 
const char * get_name (void) const
 
int get_ctype (void) const
 
int get_stype (void) const
 
const char * get_ctype_s (void) const
 
const char * get_stype_s (void) const
 
int get_encoding (void) const
 
const char * get_charset (void) const
 
const char * get_toCharset (void) const
 
off_t get_bodyBegin (void) const
 
off_t get_bodyEnd (void) const
 
const char * header_value (const char *name) const
 
const std::map< string, string > & get_headers (void) const
 
bool save (pipe_manager &out) const
 
bool save (pipe_manager &out, const char *src, int len) const
 
bool save (ostream &out, const char *src=NULL, int len=0) const
 
bool save (const char *outFile, const char *src=NULL, int len=0) const
 
bool save (string &out, const char *src, int len) const
 
mime_nodeget_parent (void) const
 
bool has_parent (void) const
 
int parent_ctype (void) const
 
const char * parent_ctype_s (void) const
 
int parent_stype (void) const
 
const char * parent_stype_s (void) const
 
int parent_encoding (void) const
 
char * parent_charset (void) const
 
off_t parent_bodyBegin (void) const
 
off_t parent_bodyEnd (void) const
 
const char * parent_header_value (const char *name) const
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 
- Protected 属性 继承自 acl::mime_node
bool m_enableDecode
 
string m_name
 
string m_emailFile
 
int m_ctype
 
int m_stype
 
int m_encoding
 
char m_charset [32]
 
char m_toCharset [32]
 
off_t m_bodyBegin
 
off_t m_bodyEnd
 
std::map< string, string > * m_headers_
 
const MIME_NODE * m_pMimeNode
 
mime_nodem_pParent
 

详细描述

在文件 mime_body.hpp16 行定义.

构造及析构函数说明

◆ mime_body()

acl::mime_body::mime_body ( const char *  emailFile,
const MIME_NODE *  node,
bool  htmlFirst = true,
bool  enableDecode = true,
const char *  toCharset = "gb2312",
off_t  off = 0 
)
inline

构造函数

参数
emailFile{const char*} 存储邮件内容的源文件,可以 为空,但当为空时在调用 save_body 函数时,则不能指定源文件
node{const MIME_NODE*} 邮件中的某个结点对象
htmlFirst{bool} 是否在提取内容时优先提取 HTML 数据
enableDecode{bool} 当邮件内容为 base64/qp 等编译格式 时是否需要自动进行解码
toCharset{const char*} 缺省的目标字符集,如果目标 字符集与源字符集不同,则进行字符集转换
off{off_t} 邮件内容在整个数据中的起始位置中附加的 相对偏移量,以便于用户可以在邮件内容前面加自己的私有数据

在文件 mime_body.hpp32 行定义.

35  : mime_node(emailFile, node, enableDecode, toCharset, off)
36  , m_htmlFirst(htmlFirst)
37  {
38  }
mime_node(const char *emailFile, const MIME_NODE *node, bool enableDecode=true, const char *toCharset="gb2312", off_t off=0)

◆ ~mime_body()

acl::mime_body::~mime_body ( void  )
inline

在文件 mime_body.hpp40 行定义.

40 {}

成员函数说明

◆ html_stype()

bool acl::mime_body::html_stype ( void  ) const

判断结点头部类型中的从类型是否 MIME_STYPE_HTML 类型

返回
{bool}

◆ save_body() [1/5]

bool acl::mime_body::save_body ( pipe_manager out,
const char *  src = NULL,
int  len = 0 
)

转储邮件正文内容于管道流中

参数
out{pipe_manager&} 管道流管理器
src{const char*} 邮件内容的起始地址,如果为空指针, 则从构造函数中所提供的 emailFile 的文件中提取邮件内容
len{int} 邮件内容的数据长度,如果为0,则从构造 函数中所提供的 emailFile 的文件中提取邮件内容
返回
{bool} 是否成功

◆ save_body() [2/5]

bool acl::mime_body::save_body ( ostream out,
const char *  src = NULL,
int  len = 0 
)

转储邮件正文内容于输出流中

参数
out{ostream&} 输出流
src{const char*} 邮件内容的起始地址,如果为空指针, 则从构造函数中所提供的 emailFile 的文件中提取邮件内容
len{int} 邮件内容的数据长度,如果为0,则从构造 函数中所提供的 emailFile 的文件中提取邮件内容
返回
{bool} 是否成功

◆ save_body() [3/5]

bool acl::mime_body::save_body ( const char *  file_path,
const char *  src = NULL,
int  len = 0 
)

转储邮件正文内容于目标文件中

参数
file_path{const char*} 目标文件名
src{const char*} 邮件内容的起始地址,如果为空指针, 则从构造函数中所提供的 emailFile 的文件中提取邮件内容
len{int} 邮件内容的数据长度,如果为0,则从构造 函数中所提供的 emailFile 的文件中提取邮件内容
返回
{bool} 是否成功

◆ save_body() [4/5]

bool acl::mime_body::save_body ( pipe_string out,
const char *  src = NULL,
int  len = 0 
)

转储邮件正文内容于管道缓冲区内

参数
out{pipe_string&} 管道缓冲区
src{const char*} 邮件内容的起始地址,如果为空指针, 则从构造函数中所提供的 emailFile 的文件中提取邮件内容
len{int} 邮件内容的数据长度,如果为0,则从构造 函数中所提供的 emailFile 的文件中提取邮件内容
返回
{bool} 是否成功

◆ save_body() [5/5]

bool acl::mime_body::save_body ( string out,
const char *  src = NULL,
int  len = 0 
)

转储邮件正文内容于缓冲区中

参数
out{string&} 缓冲区
src{const char*} 邮件内容的起始地址,如果为空指针, 则从构造函数中所提供的 emailFile 的文件中提取邮件内容
len{int} 邮件内容的数据长度,如果为0,则从构造 函数中所提供的 emailFile 的文件中提取邮件内容
返回
{bool} 是否成功

◆ set_status()

void acl::mime_body::set_status ( bool  htmlFirst)
inline

设置是否仅提取 HTML 数据, 如果为 true 则优先提取 HTML 数据, 当不存在 HTML 数据时才会提取纯文本数据; 如果为 false 则优先 提取纯文本数据, 如果仅有 HTML 数据时则会从该 HTML 数据中抽 取出纯文本数据

参数
htmlFirst{bool}

在文件 mime_body.hpp49 行定义.

50  {
51  m_htmlFirst = htmlFirst;
52  }

该类的文档由以下文件生成: