fastdo  0.5.12
eienwebx::OutputMgr类 参考abstract

输出管理器 更多...

#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
 本地编码转到目标编码 更多...
 
winux::ulong getConvertedContentSize ()
 获取编码转换后的内容大小,自动触发编码转换 更多...
 
virtual void echo (winux::String const &str)=0
 输出字符串 更多...
 
virtual void write (void const *data, int size)=0
 输出二进制数据 更多...
 
virtual void printf (char const *format, va_list va)=0
 输出格式化字符串 更多...
 
virtual winux::ulong getCacheOutStreamSize () const =0
 获取缓冲输出流中数据的大小 更多...
 

Protected 成员函数

bool _isNeedEncodingConvert () const
 是否需要进行编码转换 更多...
 
virtual int _tryEncodingConvert ()=0
 尝试编码转换 更多...
 
virtual void _backupStd ()=0
 备份标准流 更多...
 
virtual void _resumeStd ()=0
 恢复标准流 更多...
 
virtual void _redirectToSpec ()=0
 重定向标准流到特定流 更多...
 
virtual void _commit ()=0
 提交输出 更多...
 

Protected 属性

http::Header _header
 http头部信息 更多...
 
bool _headerCommited
 指示头部是否已经提交发送到输出流 更多...
 
winux::String _localEncoding
 本地编码 更多...
 
winux::String _targetEncoding
 要输出的编码 更多...
 
winux::AnsiString _bufConverted
 已经进行编码转换的内容 更多...
 

友元

class Response
 

详细描述

输出管理器

该类把标准流重定向到特定的流接口,以便我们用cout输出html
该类会把输出流重定向到一个缓冲区流,从而延缓输出,以便我们方便设置HTTP头、更改字符串编码、计算内容长度

在文件 webx_OutputMgr.hpp12 行定义.

构造及析构函数说明

eienwebx::OutputMgr::OutputMgr ( )

构造函数

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

析构函数

成员函数说明

virtual void eienwebx::OutputMgr::_backupStd ( )
protectedpure virtual

备份标准流

eienwebx::FcgiOutputMgr 内被实现.

virtual void eienwebx::OutputMgr::_commit ( )
protectedpure virtual

提交输出

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

eienwebx::FcgiOutputMgr 内被实现.

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

是否需要进行编码转换

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

virtual void eienwebx::OutputMgr::_redirectToSpec ( )
protectedpure virtual

重定向标准流到特定流

eienwebx::FcgiOutputMgr 内被实现.

virtual void eienwebx::OutputMgr::_resumeStd ( )
protectedpure virtual

恢复标准流

eienwebx::FcgiOutputMgr 内被实现.

virtual int eienwebx::OutputMgr::_tryEncodingConvert ( )
protectedpure virtual

尝试编码转换

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

eienwebx::FcgiOutputMgr 内被实现.

winux::String eienwebx::OutputMgr::convFrom ( winux::String const &  str) const

目标编码转到本地编码

winux::String eienwebx::OutputMgr::convTo ( winux::String const &  str) const

本地编码转到目标编码

virtual void eienwebx::OutputMgr::echo ( winux::String const &  str)
pure virtual

输出字符串

eienwebx::FcgiOutputMgr 内被实现.

virtual winux::ulong eienwebx::OutputMgr::getCacheOutStreamSize ( ) const
pure virtual

获取缓冲输出流中数据的大小

eienwebx::FcgiOutputMgr 内被实现.

winux::ulong eienwebx::OutputMgr::getConvertedContentSize ( )

获取编码转换后的内容大小,自动触发编码转换

winux::String eienwebx::OutputMgr::getLocalEncoding ( ) const

获取本地编码

winux::String eienwebx::OutputMgr::getTargetEncoding ( ) const

获取目标编码

virtual void eienwebx::OutputMgr::printf ( char const *  format,
va_list  va 
)
pure 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对应

virtual void eienwebx::OutputMgr::write ( void const *  data,
int  size 
)
pure virtual

输出二进制数据

eienwebx::FcgiOutputMgr 内被实现.

友元及相关函数文档

friend class Response
friend

在文件 webx_OutputMgr.hpp103 行定义.

类成员变量说明

winux::AnsiString eienwebx::OutputMgr::_bufConverted
protected

已经进行编码转换的内容

在文件 webx_OutputMgr.hpp99 行定义.

http::Header eienwebx::OutputMgr::_header
protected

http头部信息

在文件 webx_OutputMgr.hpp89 行定义.

bool eienwebx::OutputMgr::_headerCommited
protected

指示头部是否已经提交发送到输出流

在文件 webx_OutputMgr.hpp91 行定义.

winux::String eienwebx::OutputMgr::_localEncoding
protected

本地编码

在文件 webx_OutputMgr.hpp94 行定义.

winux::String eienwebx::OutputMgr::_targetEncoding
protected

要输出的编码

在文件 webx_OutputMgr.hpp96 行定义.


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