#include <mime_node.hpp>
|
| 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_node * | get_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 |
|
◆ 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 |
◆ get_bodyEnd()
off_t acl::mime_node::get_bodyEnd |
( |
void |
| ) |
const |
|
inline |
◆ get_charset()
const char* acl::mime_node::get_charset |
( |
void |
| ) |
const |
|
inline |
获得结点字符集字符串(对应于 Content-Type 中的 charset 字段)
- 返回
- {const char*} 为空则表示没有该字段
在文件 mime_node.hpp 第 94 行定义.
◆ get_ctype()
int acl::mime_node::get_ctype |
( |
void |
| ) |
const |
|
inline |
◆ 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 |
◆ 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.hpp 第 42 行定义.
◆ 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 |
◆ 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 |
◆ 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
- 参数
-
- 返回
- {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} 是否成功
◆ 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 |
◆ m_bodyEnd
off_t acl::mime_node::m_bodyEnd |
|
protected |
◆ m_charset
char acl::mime_node::m_charset[32] |
|
protected |
◆ m_ctype
int acl::mime_node::m_ctype |
|
protected |
◆ m_emailFile
string acl::mime_node::m_emailFile |
|
protected |
◆ m_enableDecode
bool acl::mime_node::m_enableDecode |
|
protected |
◆ m_encoding
int acl::mime_node::m_encoding |
|
protected |
◆ m_headers_
◆ m_name
◆ m_pMimeNode
const MIME_NODE* acl::mime_node::m_pMimeNode |
|
protected |
◆ m_pParent
◆ m_stype
int acl::mime_node::m_stype |
|
protected |
◆ m_toCharset
char acl::mime_node::m_toCharset[32] |
|
protected |
该类的文档由以下文件生成: