fastdo  0.6.8
eienwebx::OutputMgr类 参考

输出管理器 更多...

#include <webx_OutputMgr.hpp>

类 eienwebx::OutputMgr 继承关系图:
eienwebx::OutputMgr 的协作图:

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::Headerheader ()
 暴露管理的头部对象 更多...
 
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.hpp12 行定义.

构造及析构函数说明

eienwebx::OutputMgr::OutputMgr ( )

构造函数

virtual eienwebx::OutputMgr::~OutputMgr ( )
virtual

析构函数

成员函数说明

virtual void eienwebx::OutputMgr::_actualError ( void const *  data,
size_t  size 
)
protectedvirtual

实际错误输出

eienwebx::FcgiOutputMgr 重载.

virtual void eienwebx::OutputMgr::_actualOutput ( void const *  data,
size_t  size 
)
protectedvirtual

实际输出

eienwebx::FcgiOutputMgr , 以及 eienwebx::HttpOutputMgr 重载.

bool eienwebx::OutputMgr::_isNeedEncodingConvert ( ) const
protected

是否需要进行编码转换

不需要转换的情况:a.没有设置本地编码或者目标编码,b.本地编码和目标编码相同,c.MIME不是text类型

int eienwebx::OutputMgr::_tryEncodingConvert ( )
protected

尝试编码转换

返回值
0不需要进行编码转换
1需要进行编码转换并且执行了
2需要进行编码转换,由于之前已经转换成功,所以直接返回
virtual void eienwebx::OutputMgr::commit ( )
virtual

提交输出

可多次调用,但头部只有第一次会输出

eienwebx::HttpOutputMgr 重载.

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 void eienwebx::OutputMgr::redirectToSpec ( )
virtual

重定向标准流到特定流

eienwebx::FcgiOutputMgr 重载.

virtual void eienwebx::OutputMgr::resumeStd ( )
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 class Response
friend

在文件 webx_OutputMgr.hpp105 行定义.

类成员变量说明

winux::MembersWrapper<struct OutputMgr_Data> eienwebx::OutputMgr::_self
protected

在文件 webx_OutputMgr.hpp101 行定义.


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