acl  3.5.3.0
acl::mime_node类 参考

#include <mime_node.hpp>

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

Public 成员函数

 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 属性

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
 

额外继承的成员函数

- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

详细描述

在文件 mime_node.hpp18 行定义.

构造及析构函数说明

◆ mime_node()

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

构造函数

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

◆ ~mime_node()

virtual acl::mime_node::~mime_node ( void  )
virtual

成员函数说明

◆ get_bodyBegin()

off_t acl::mime_node::get_bodyBegin ( void  ) const
inline

获得本结点在邮件中的起始偏移量

返回
{off_t}

在文件 mime_node.hpp115 行定义.

116  {
117  return m_bodyBegin;
118  }

◆ get_bodyEnd()

off_t acl::mime_node::get_bodyEnd ( void  ) const
inline

获得本结点在邮件中的结束偏移量

返回
{off_t}

在文件 mime_node.hpp124 行定义.

125  {
126  return m_bodyEnd;
127  }

◆ get_charset()

const char* acl::mime_node::get_charset ( void  ) const
inline

获得结点字符集字符串(对应于 Content-Type 中的 charset 字段)

返回
{const char*} 为空则表示没有该字段

在文件 mime_node.hpp94 行定义.

95  {
96  return m_charset;
97  }
char m_charset[32]
Definition: mime_node.hpp:264

◆ get_ctype()

int acl::mime_node::get_ctype ( void  ) const
inline

获得 Content-Type 中的主类型,如: Content-Type: image/jpeg, 则本 函数返回 MIME_CTYPE_IMAGE (在 mime_define.hpp 中定义)

返回
{int} 返回 mime_define.hpp 中定义的 MIME_CTYPE_XXX

在文件 mime_node.hpp54 行定义.

55  {
56  return m_ctype;
57  }

◆ get_ctype_s()

const char* acl::mime_node::get_ctype_s ( void  ) const

获得 Content-Type 中的主类型,以字符串方式表示

返回
{const char*} 返回 "" 表示不存在

◆ get_encoding()

int acl::mime_node::get_encoding ( void  ) const
inline

获得传输编码类型 (对应于 Content-Transfer-Encoding)

返回
{int} 返回 mime_define.hpp 中定义的 MIME_ENC_XXX

在文件 mime_node.hpp85 行定义.

86  {
87  return m_encoding;
88  }

◆ get_headers()

const std::map<string, string>& acl::mime_node::get_headers ( void  ) const

取得该结点的所有头部字段集合

返回
{const std::map<string, string>&}

◆ get_name()

const char* acl::mime_node::get_name ( void  ) const
inline

获得 MIME 结点中 Content-Type 值中的 name 字段值

返回
{const char*} 如果为空则表示没有该字段值

在文件 mime_node.hpp42 行定义.

43  {
44  if (m_name.empty())
45  return NULL;
46  return m_name.c_str();
47  }
char * c_str() const
bool empty() const

◆ get_parent()

mime_node* acl::mime_node::get_parent ( void  ) const

获得本结点对应的父结点对象

返回
{mime_node*} 为空则表示本结点没有父结点(则说明 本结点为邮件的根结点); 否则则返回的父结点需要在用完后 delete 掉以释放相应内存

◆ get_stype()

int acl::mime_node::get_stype ( void  ) const
inline

获得 Content-Type 中的从类型,如: Content-Type: image/jpeg, 则本 函数返回 MIME_STYPE_JPEG (在 mime_define.hpp 中定义)

返回
{int} 返回 mime_define.hpp 中定义的 MIME_STYPE_XXX

在文件 mime_node.hpp64 行定义.

65  {
66  return m_stype;
67  }

◆ get_stype_s()

const char* acl::mime_node::get_stype_s ( void  ) const

获得 Content-Type 中的从类型,以字符串方式表示

返回
{const char*} 返回 "" 表示不存在

◆ get_toCharset()

const char* acl::mime_node::get_toCharset ( void  ) const
inline

获得目标字符集, 由用户在构造函数中传入

返回
{const char*} 为空则表示用户未设置

在文件 mime_node.hpp103 行定义.

104  {
105  if (m_toCharset[0])
106  return m_toCharset;
107  else
108  return NULL;
109  }
char m_toCharset[32]
Definition: mime_node.hpp:265

◆ has_parent()

bool acl::mime_node::has_parent ( void  ) const

判断本结点是否有父结点

返回
{bool} true 则表示有父结点, 否则表示没有

◆ header_value()

const char* acl::mime_node::header_value ( const char *  name) const

获得本结点头部中某个字段的值

参数
name{const char*} 字段名, 如: Content-Type
返回
{const char*} 为空则表示不存在

◆ parent_bodyBegin()

off_t acl::mime_node::parent_bodyBegin ( void  ) const

获得父结点的数据体起始偏移量

返回
{off_t} 返回值为 -1 表示父结点不存在

◆ parent_bodyEnd()

off_t acl::mime_node::parent_bodyEnd ( void  ) const

获得父结点的数据体结束偏移量

返回
{off_t} 返回值为 -1 表示父结点不存在

◆ parent_charset()

char* acl::mime_node::parent_charset ( void  ) const

获得父结点的字符集类型, 如果返回值为空则说明父结点不存在或父结点 中没有字符集类型

返回
{const char*}

◆ parent_ctype()

int acl::mime_node::parent_ctype ( void  ) const

获得父结点的主类型 (MIME_CTYPE_XXX), 如果为 MIME_CTYPE_OTHER 则说明父结点不存在或父结点的主类型未知

返回
{int} MIME_CTYPE_XXX

◆ parent_ctype_s()

const char* acl::mime_node::parent_ctype_s ( void  ) const

◆ parent_encoding()

int acl::mime_node::parent_encoding ( void  ) const

获得父结点的编码类型 (MIME_ENC_XXX), 如果返回值为 MIME_ENC_OTHER 则说明父结点不存在或父结点的编码类型未知

返回
{int} MIME_ENC_XXX

◆ parent_header_value()

const char* acl::mime_node::parent_header_value ( const char *  name) const

获得父结点头部中某个字段名对应的字段值, 如: Content-Type

参数
name{const char*} 字段名
返回
{const char*} 字段值, 返回空则说明父结点不存在 或父结点头部中不存在该字段

◆ parent_stype()

int acl::mime_node::parent_stype ( void  ) const

获得父结点的从类型 (MIME_STYPE_XXX), 如果为 MIME_STYPE_OTHER 则说明父结点不存在或父结点的从类型未知

返回
{int} MIME_STYPE_XXX

◆ parent_stype_s()

const char* acl::mime_node::parent_stype_s ( void  ) const

◆ save() [1/5]

bool acl::mime_node::save ( pipe_manager out) const

转储本结点内容于指定的管道流中

参数
out{pipe_manager&}
返回
{bool} 是否成功

◆ save() [2/5]

bool acl::mime_node::save ( pipe_manager out,
const char *  src,
int  len 
) const

转储本结点内容于指定的管道流中

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

◆ save() [3/5]

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

转储本结点内容于指定的输出流中

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

◆ save() [4/5]

bool acl::mime_node::save ( const char *  outFile,
const char *  src = NULL,
int  len = 0 
) const

转储本结点内容于指定的文件中

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

◆ save() [5/5]

bool acl::mime_node::save ( string out,
const char *  src,
int  len 
) const

转储本结点内容于缓冲区中

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

类成员变量说明

◆ m_bodyBegin

off_t acl::mime_node::m_bodyBegin
protected

在文件 mime_node.hpp266 行定义.

◆ m_bodyEnd

off_t acl::mime_node::m_bodyEnd
protected

在文件 mime_node.hpp267 行定义.

◆ m_charset

char acl::mime_node::m_charset[32]
protected

在文件 mime_node.hpp264 行定义.

◆ m_ctype

int acl::mime_node::m_ctype
protected

在文件 mime_node.hpp261 行定义.

◆ m_emailFile

string acl::mime_node::m_emailFile
protected

在文件 mime_node.hpp260 行定义.

◆ m_enableDecode

bool acl::mime_node::m_enableDecode
protected

在文件 mime_node.hpp258 行定义.

◆ m_encoding

int acl::mime_node::m_encoding
protected

在文件 mime_node.hpp263 行定义.

◆ m_headers_

std::map<string, string>* acl::mime_node::m_headers_
protected

在文件 mime_node.hpp268 行定义.

◆ m_name

string acl::mime_node::m_name
protected

在文件 mime_node.hpp259 行定义.

◆ m_pMimeNode

const MIME_NODE* acl::mime_node::m_pMimeNode
protected

在文件 mime_node.hpp269 行定义.

◆ m_pParent

mime_node* acl::mime_node::m_pParent
protected

在文件 mime_node.hpp270 行定义.

◆ m_stype

int acl::mime_node::m_stype
protected

在文件 mime_node.hpp262 行定义.

◆ m_toCharset

char acl::mime_node::m_toCharset[32]
protected

在文件 mime_node.hpp265 行定义.


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