fastdo
0.6.8
|
输出管理器 更多...
#include <webx_OutputMgr.hpp>
Public 成员函数 | |
OutputMgr () | |
构造函数 更多... | |
virtual | ~OutputMgr () |
析构函数 更多... | |
void | setLocalEncoding (winux::String const &local) |
指定本地编码(Response会自动设置本地编码) 更多... | |
void | setTargetEncoding (winux::String const &target) |
指定目标编码(Response不会自动设置) 更多... | |
winux::String | getLocalEncoding () const |
获取本地编码 更多... | |
winux::String | getTargetEncoding () const |
获取目标编码 更多... | |
winux::String | convFrom (winux::String const &str) const |
目标编码转到本地编码 更多... | |
winux::String | convTo (winux::String const &str) const |
本地编码转到目标编码 更多... | |
http::Header & | header () |
暴露管理的头部对象 更多... | |
http::Header const & | header () const |
暴露管理的头部对象 更多... | |
void | echo (winux::String const &str) |
输出字符串 更多... | |
void | write (void const *data, size_t size) |
输出二进制数据 更多... | |
void | printf (char const *format, va_list va) |
输出格式化字符串 更多... | |
std::ostream & | out () |
size_t | getOutputSize () const |
输出了多少数据(字节数) 更多... | |
size_t | getConvertedOutputSize () |
输出了多少数据(转码后的,字节数) 更多... | |
virtual void | commit () |
提交输出 更多... | |
virtual void | resumeStd () |
恢复标准流 更多... | |
virtual void | redirectToSpec () |
重定向标准流到特定流 更多... | |
Protected 成员函数 | |
bool | _isNeedEncodingConvert () const |
是否需要进行编码转换 更多... | |
int | _tryEncodingConvert () |
尝试编码转换 更多... | |
virtual void | _actualOutput (void const *data, size_t size) |
实际输出 更多... | |
virtual void | _actualError (void const *data, size_t size) |
实际错误输出 更多... | |
Protected 属性 | |
winux::MembersWrapper< struct OutputMgr_Data > | _self |
友元 | |
class | Response |
输出管理器
该类把标准流重定向到特定的流接口,以便我们用cout输出html
该类会把输出流重定向到一个缓冲区流,从而延缓输出,以便我们方便设置HTTP头、更改字符串编码、计算内容长度
在文件 webx_OutputMgr.hpp 第 12 行定义.
eienwebx::OutputMgr::OutputMgr | ( | ) |
构造函数
|
virtual |
析构函数
|
protectedvirtual |
实际错误输出
被 eienwebx::FcgiOutputMgr 重载.
|
protectedvirtual |
实际输出
被 eienwebx::FcgiOutputMgr , 以及 eienwebx::HttpOutputMgr 重载.
|
protected |
是否需要进行编码转换
不需要转换的情况:a.没有设置本地编码或者目标编码,b.本地编码和目标编码相同,c.MIME不是text类型
|
protected |
尝试编码转换
0 | 不需要进行编码转换 |
1 | 需要进行编码转换并且执行了 |
2 | 需要进行编码转换,由于之前已经转换成功,所以直接返回 |
|
virtual |
winux::String eienwebx::OutputMgr::convFrom | ( | winux::String const & | str | ) | const |
目标编码转到本地编码
winux::String eienwebx::OutputMgr::convTo | ( | winux::String const & | str | ) | const |
本地编码转到目标编码
void eienwebx::OutputMgr::echo | ( | winux::String const & | str | ) |
输出字符串
size_t eienwebx::OutputMgr::getConvertedOutputSize | ( | ) |
输出了多少数据(转码后的,字节数)
会自动触发转码操作
winux::String eienwebx::OutputMgr::getLocalEncoding | ( | ) | const |
获取本地编码
size_t eienwebx::OutputMgr::getOutputSize | ( | ) | const |
输出了多少数据(字节数)
winux::String eienwebx::OutputMgr::getTargetEncoding | ( | ) | const |
获取目标编码
http::Header& eienwebx::OutputMgr::header | ( | ) |
暴露管理的头部对象
http::Header const& eienwebx::OutputMgr::header | ( | ) | const |
暴露管理的头部对象
std::ostream& eienwebx::OutputMgr::out | ( | ) |
void eienwebx::OutputMgr::printf | ( | char const * | format, |
va_list | va | ||
) |
输出格式化字符串
|
virtual |
重定向标准流到特定流
被 eienwebx::FcgiOutputMgr 重载.
|
virtual |
恢复标准流
被 eienwebx::FcgiOutputMgr 重载.
void eienwebx::OutputMgr::setLocalEncoding | ( | winux::String const & | local | ) |
指定本地编码(Response会自动设置本地编码)
本地编码指编译器的默认编码,visualstudio是gbk,gcc是utf-8
设置字符串编码信息setLocalEncoding()/setTargetEncoding()
void eienwebx::OutputMgr::setTargetEncoding | ( | winux::String const & | target | ) |
指定目标编码(Response不会自动设置)
目标编码要和Content-Type的charset对应
void eienwebx::OutputMgr::write | ( | void const * | data, |
size_t | size | ||
) |
输出二进制数据
|
friend |
在文件 webx_OutputMgr.hpp 第 105 行定义.
|
protected |
在文件 webx_OutputMgr.hpp 第 101 行定义.