fastdo  0.5.12
eienwebx::App类 参考abstract

App类 更多...

#include <webx_App.hpp>

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

Public 类型

enum  ErrorCode { Err_Success, Err_DoFileNotFound, Err_WebMainNotFound, Err_InfiniteRecursion }
 执行do文件的错误码 更多...
 

Public 成员函数

 App (winux::Configure &conf, struct xAppServerData *servData=NULL)
 构造函数 更多...
 
virtual ~App ()
 
virtual int run (void *runParam)=0
 运行处理 更多...
 
virtual ErrorCode execWebMain (Response *rsp, void *runParam, int *retCode)
 执行生成页面内容的过程 更多...
 
ErrorCode importDoFile (winux::String const &doFile, Response *rsp, void *runParam, int *retCode, winux::String *errDetail)
 import一个do文件,并把它的输出作为指定rsp的输出 更多...
 
int loadedDoFiles (winux::Mixed *arrDoFiles) const
 产品模式下,显示所有已经加载的do文件 更多...
 
bool unloadDoFile (winux::String const &doFullPath)
 卸载指定的do文件,如果是当前页面则不会释放 更多...
 
winux::DllLoaderloadModule (winux::String const &modFile)
 加载一个模块,若已经加载则返回其引用. 更多...
 
int loadedModules (winux::Mixed *arrModules) const
 显示已经加载的模块 更多...
 
bool unloadModule (winux::String const &modFile)
 卸载一个模块 更多...
 
void * getParam () const
 取得do传递的参数 更多...
 
template<typename _Ty >
_Ty getParam () const
 取得do传递的参数 更多...
 
void setParam (void *param)
 设置do传递参数 更多...
 
void * getRunParam () const
 取得从run()传进的参数 更多...
 
template<typename _Ty >
_Ty getRunParam () const
 取得从run()传进的参数 更多...
 
struct xAppServerDatagetServerData ()
 取得服务器程序定义的相关数据 更多...
 
void setServerData (struct xAppServerData *data)
 设置服务器程序定义的相关数据 更多...
 
SessionServergetSessServ ()
 取得SessionServer 更多...
 
void setSessServ (SessionServer *sessServ)
 设置SessionServer 更多...
 

Public 属性

winux::Configureconfig
 配置 更多...
 

Protected 类型

typedef int(* PFN_WebMain) (Response *, void *)
 do文件中WebMain()的类型 更多...
 
typedef winux::DllLoader::Function< PFN_WebMainWebMainFunc
 WebMain函数对象类型 更多...
 

Protected 成员函数

ErrorCode _importDoFileDevelopment (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail)
 
ErrorCode _importDoFileProduction (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail)
 

Protected 属性

SessionServer_sessServ
 SessionServer. 更多...
 
void * _runParam
 来自run()传递进来的参数 更多...
 
void * _param
 来自setParam()传递进来的参数 更多...
 
struct xAppServerData_servData
 创建App对象的程序传递进来的结构。定义是自定的,所在于全局名称空间::,可通过头文件定义结构再通过包含头文件去使用 更多...
 
std::map< winux::String, winux::SimplePointer< winux::DllLoader > > _loadedDlls
 已经加载的dll 更多...
 
std::map< winux::String, WebMainFunc_loadedWebMainFuncs
 已经取得的WebMain()指针 更多...
 
winux::StringArray _importDoPaths
 防importDoFile()无穷递归 更多...
 
bool _isProduction
 指示是否以产品模式运行 更多...
 
winux::int64 _maxUrlencodedPostSize
 application/x-www-form-urlencoded 表单POST发送数据的最大大小 更多...
 
winux::int64 _maxMultiFormPostSize
 multipart/form-data 多部分表单POST发送数据的最大大小 更多...
 
winux::String _uploadTmpPath
 上传文件的临时目录 更多...
 

友元

class Request
 
class FcgiRequest
 
class CgiRequest
 

详细描述

App类

在文件 webx_App.hpp12 行定义.

成员类型定义说明

typedef int( * eienwebx::App::PFN_WebMain) (Response *, void *)
protected

do文件中WebMain()的类型

在文件 webx_App.hpp109 行定义.

WebMain函数对象类型

在文件 webx_App.hpp112 行定义.

成员枚举类型说明

执行do文件的错误码

枚举值
Err_Success 

成功

Err_DoFileNotFound 

没有找到do文件

Err_WebMainNotFound 

没有找到WebMain()函数

Err_InfiniteRecursion 

无穷递归

在文件 webx_App.hpp16 行定义.

构造及析构函数说明

eienwebx::App::App ( winux::Configure conf,
struct xAppServerData servData = NULL 
)

构造函数

参数
conf配置对象
servData服务器程序定义的相关数据
virtual eienwebx::App::~App ( )
virtual

成员函数说明

ErrorCode eienwebx::App::_importDoFileDevelopment ( winux::String const &  doFullPath,
Response rsp,
void *  runParam,
int *  retCode,
winux::String errDetail 
)
protected
ErrorCode eienwebx::App::_importDoFileProduction ( winux::String const &  doFullPath,
Response rsp,
void *  runParam,
int *  retCode,
winux::String errDetail 
)
protected
virtual ErrorCode eienwebx::App::execWebMain ( Response rsp,
void *  runParam,
int *  retCode 
)
virtual

执行生成页面内容的过程

默认将载入以SCRIPT_FILENAME环境变量为路径的do模块,并调用其WebMain()

返回
0:表示成功,1:表示找不到或无权限,2:表示没有WebMain()
void* eienwebx::App::getParam ( ) const
inline

取得do传递的参数

在文件 webx_App.hpp67 行定义.

template<typename _Ty >
_Ty eienwebx::App::getParam ( ) const
inline

取得do传递的参数

在文件 webx_App.hpp71 行定义.

void* eienwebx::App::getRunParam ( ) const
inline

取得从run()传进的参数

在文件 webx_App.hpp77 行定义.

template<typename _Ty >
_Ty eienwebx::App::getRunParam ( ) const
inline

取得从run()传进的参数

在文件 webx_App.hpp81 行定义.

struct xAppServerData* eienwebx::App::getServerData ( )
inline

取得服务器程序定义的相关数据

在文件 webx_App.hpp84 行定义.

SessionServer* eienwebx::App::getSessServ ( )
inline

取得SessionServer

在文件 webx_App.hpp90 行定义.

ErrorCode eienwebx::App::importDoFile ( winux::String const &  doFile,
Response rsp,
void *  runParam,
int *  retCode,
winux::String errDetail 
)

import一个do文件,并把它的输出作为指定rsp的输出

参数
doFiledo文件路径
rsp指示输出到的Response对象
retCode表示导入do的WebMain()返回代码,为NULL则忽略此值
errDetail载入do的详细错误信息
返回
0:表示导入成功,1:表示找不到或无权限,2:表示没有WebMain(),3:表示无穷递归调用了
int eienwebx::App::loadedDoFiles ( winux::Mixed arrDoFiles) const

产品模式下,显示所有已经加载的do文件

int eienwebx::App::loadedModules ( winux::Mixed arrModules) const

显示已经加载的模块

winux::DllLoader& eienwebx::App::loadModule ( winux::String const &  modFile)

加载一个模块,若已经加载则返回其引用.

virtual int eienwebx::App::run ( void *  runParam)
pure virtual

运行处理

eienwebx::FcgiApp 内被实现.

void eienwebx::App::setParam ( void *  param)
inline

设置do传递参数

在文件 webx_App.hpp74 行定义.

void eienwebx::App::setServerData ( struct xAppServerData data)
inline

设置服务器程序定义的相关数据

在文件 webx_App.hpp87 行定义.

void eienwebx::App::setSessServ ( SessionServer sessServ)
inline

设置SessionServer

在文件 webx_App.hpp93 行定义.

bool eienwebx::App::unloadDoFile ( winux::String const &  doFullPath)

卸载指定的do文件,如果是当前页面则不会释放

bool eienwebx::App::unloadModule ( winux::String const &  modFile)

卸载一个模块

友元及相关函数文档

friend class CgiRequest
friend

在文件 webx_App.hpp128 行定义.

friend class FcgiRequest
friend

在文件 webx_App.hpp127 行定义.

friend class Request
friend

在文件 webx_App.hpp126 行定义.

类成员变量说明

winux::StringArray eienwebx::App::_importDoPaths
protected

防importDoFile()无穷递归

在文件 webx_App.hpp115 行定义.

bool eienwebx::App::_isProduction
protected

指示是否以产品模式运行

在此模式下,页面模块(*.do)只加载一次而不释放掉,因此不会每次都加载,但若要更新模块则必须关闭服务器。

在文件 webx_App.hpp120 行定义.

std::map< winux::String, winux::SimplePointer<winux::DllLoader> > eienwebx::App::_loadedDlls
protected

已经加载的dll

在文件 webx_App.hpp110 行定义.

std::map< winux::String, WebMainFunc > eienwebx::App::_loadedWebMainFuncs
protected

已经取得的WebMain()指针

在文件 webx_App.hpp113 行定义.

winux::int64 eienwebx::App::_maxMultiFormPostSize
protected

multipart/form-data 多部分表单POST发送数据的最大大小

在文件 webx_App.hpp123 行定义.

winux::int64 eienwebx::App::_maxUrlencodedPostSize
protected

application/x-www-form-urlencoded 表单POST发送数据的最大大小

在文件 webx_App.hpp122 行定义.

void* eienwebx::App::_param
protected

来自setParam()传递进来的参数

在文件 webx_App.hpp105 行定义.

void* eienwebx::App::_runParam
protected

来自run()传递进来的参数

在文件 webx_App.hpp104 行定义.

struct xAppServerData* eienwebx::App::_servData
protected

创建App对象的程序传递进来的结构。定义是自定的,所在于全局名称空间::,可通过头文件定义结构再通过包含头文件去使用

在文件 webx_App.hpp106 行定义.

SessionServer* eienwebx::App::_sessServ
protected

SessionServer.

在文件 webx_App.hpp103 行定义.

winux::String eienwebx::App::_uploadTmpPath
protected

上传文件的临时目录

在文件 webx_App.hpp124 行定义.

winux::Configure& eienwebx::App::config

配置

在文件 webx_App.hpp96 行定义.


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