|
fastdo
0.6.16
|
App类,内部有Do文件载入/执行功能 更多...
#include <webx_App.hpp>


类 | |
| struct | AppConfig |
| 配置参数,从配置文件中读取的设置 更多... | |
Public 类型 | |
| enum | ErrorCode { Err_Success, Err_DoFileNotFound, Err_WebMainNotFound, Err_InfiniteRecursion } |
| 执行do文件的错误码 更多... | |
Public 成员函数 | |
| App () | |
| 构造函数0 更多... | |
| App (winux::ConfigureSettings const &settings, AppServerExternalData *externalData) | |
| 构造函数2 更多... | |
| virtual | ~App () |
| 析构函数 更多... | |
| bool | init (winux::ConfigureSettings const &settings, AppServerExternalData *externalData) |
| 初始化App对象 更多... | |
| virtual int | run (void *runParam) |
| 运行 更多... | |
| int | loadedDoFiles (winux::Mixed *arrDoFiles) const |
| 产品模式下,显示所有已经加载的do文件 更多... | |
| bool | unloadDoFile (winux::String const &doFullPath) |
| 卸载指定的do文件 更多... | |
| winux::DllLoader & | loadModule (winux::String const &modFullPath) |
| 加载一个模块,若已经加载则返回其引用. 更多... | |
| int | loadedModules (winux::Mixed *arrModules) const |
| 显示已经加载的模块 更多... | |
| bool | unloadModule (winux::String const &modFullPath) |
| 卸载一个模块 更多... | |
| App & | loadEnv () |
| 加载可执行文件的环境变量 更多... | |
| winux::String | dumpEnv () const |
| 倾泻出应用全部环境变量 更多... | |
| virtual ErrorCode | execWebMain (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode) |
| 执行生成页面内容的过程,载入绝对路径doFullPath的do文件,并调用其WebMain()。 更多... | |
| ErrorCode | importDoFile (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
| import一个do文件,并把它的输出作为指定rsp的输出 更多... | |
| void * | getParam () const |
取得可能在do中由setParam()传递的参数 更多... | |
| template<typename _Ty > | |
| _Ty | getParam () const |
取得可能在do中由setParam()传递的参数 更多... | |
| void | setParam (void *param) |
| 设置可能在do中传递的参数 更多... | |
| void * | getRunParam () const |
取得从run()传进的参数 更多... | |
| template<typename _Ty > | |
| _Ty | getRunParam () const |
取得从run()传进的参数 更多... | |
| AppServerExternalData * | getExternalData () |
| 取得外部定义的相关数据 更多... | |
| void | setExternalData (AppServerExternalData *data) |
| 设置外部定义的相关数据 更多... | |
| SessionServer * | getSessServ () |
取得SessionServer * 更多... | |
| void | setSessServ (SessionServer *sessServ) |
设置SessionServer * 更多... | |
Public 属性 | |
| winux::ConfigureSettings | settings |
| 配置设置对象 更多... | |
| struct eienwebx::App::AppConfig | appConfig |
| winux::StringStringMap | environVars |
| 可执行文件的environ环境变量 更多... | |
Protected 类型 | |
| typedef int(* | PFN_WebMain) (Response *, void *) |
do文件中WebMain()的类型 更多... | |
| typedef winux::DllLoader::Function< PFN_WebMain > | WebMainFunc |
WebMain()函数对象类型 更多... | |
Protected 成员函数 | |
| void | _clearModules () |
| 清空已加载的模块和WebMain函数 更多... | |
| ErrorCode | _importDoFileDevelopment (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
| 开发模式下,导入do文件并运行 更多... | |
| ErrorCode | _importDoFileProduction (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
| 产品模式下,导入do文件并运行 更多... | |
Protected 属性 | |
| SessionServer * | _sessServ |
| 会话服务器 更多... | |
| void * | _runParam |
来自run()传递进来的参数 更多... | |
| void * | _param |
来自setParam()传递进来的参数 更多... | |
| AppServerExternalData * | _externalData |
创建App对象的程序传递进来的结构。由外部定义,定义是自定的,所在于全局名称空间::,可通过头文件定义结构再通过包含头文件去使用 更多... | |
| std::map< winux::String, winux::SimplePointer< winux::DllLoader > > | _loadedDlls |
| 已经加载的dll 更多... | |
| std::map< winux::String, WebMainFunc > | _loadedWebMainFuncs |
已经取得的WebMain()指针 更多... | |
| winux::Mutex | _mtxApp |
互斥量,保护App共用成员数据 更多... | |
| bool | _isSetDoDirAsWorkDir |
| 是否设置Do文件目录作为工作目录,多线程环境下应该设为false 更多... | |
友元 | |
| class | Request |
| class | FcgiRequest |
| class | CgiRequest |
App类,内部有Do文件载入/执行功能
在文件 webx_App.hpp 第 13 行定义.
|
protected |
do文件中WebMain()的类型
在文件 webx_App.hpp 第 165 行定义.
|
protected |
WebMain()函数对象类型
在文件 webx_App.hpp 第 168 行定义.
执行do文件的错误码
| 枚举值 | |
|---|---|
| Err_Success |
成功 |
| Err_DoFileNotFound |
没有找到do文件 |
| Err_WebMainNotFound |
没有找到WebMain()函数 |
| Err_InfiniteRecursion |
无穷递归 |
在文件 webx_App.hpp 第 17 行定义.
| eienwebx::App::App | ( | ) |
构造函数0
| eienwebx::App::App | ( | winux::ConfigureSettings const & | settings, |
| AppServerExternalData * | externalData | ||
| ) |
构造函数2
| settings | 配置设置对象 |
| servData | 服务器程序定义的相关数据 |
|
virtual |
析构函数
| bool eienwebx::App::init | ( | winux::ConfigureSettings const & | settings, |
| AppServerExternalData * | externalData | ||
| ) |
初始化App对象
|
virtual |
运行
被 eienwebx::HttpApp , 以及 eienwebx::FcgiApp 重载.
| int eienwebx::App::loadedDoFiles | ( | winux::Mixed * | arrDoFiles | ) | const |
产品模式下,显示所有已经加载的do文件
| bool eienwebx::App::unloadDoFile | ( | winux::String const & | doFullPath | ) |
卸载指定的do文件
| doFullPath | do文件绝对路径 |
| winux::DllLoader& eienwebx::App::loadModule | ( | winux::String const & | modFullPath | ) |
加载一个模块,若已经加载则返回其引用.
| modFullPath | mod文件绝对路径 |
| int eienwebx::App::loadedModules | ( | winux::Mixed * | arrModules | ) | const |
显示已经加载的模块
| bool eienwebx::App::unloadModule | ( | winux::String const & | modFullPath | ) |
卸载一个模块
| modFullPath | mod文件绝对路径 |
| App& eienwebx::App::loadEnv | ( | ) |
加载可执行文件的环境变量
| winux::String eienwebx::App::dumpEnv | ( | ) | const |
倾泻出应用全部环境变量
|
virtual |
执行生成页面内容的过程,载入绝对路径doFullPath的do文件,并调用其WebMain()。
| 0 | 表示导入成功 |
| 1 | 表示找不到或无权限 |
| 2 | 表示没有WebMain() |
| ErrorCode eienwebx::App::importDoFile | ( | winux::String const & | doFullPath, |
| Response * | rsp, | ||
| void * | runParam, | ||
| int * | retCode, | ||
| winux::String * | errDetail | ||
| ) |
import一个do文件,并把它的输出作为指定rsp的输出
| doFullPath | do文件绝对路径 |
| rsp | 指示输出到的Response对象 |
| retCode | 表示导入do的WebMain()返回代码,为NULL则忽略此值 |
| errDetail | 载入do的详细错误信息 |
| 0 | 表示导入成功 |
| 1 | 表示找不到或无权限 |
| 2 | 表示没有WebMain() |
| 3 | 表示无穷递归调用了 |
|
inline |
取得可能在do中由setParam()传递的参数
在文件 webx_App.hpp 第 93 行定义.
|
inline |
取得可能在do中由setParam()传递的参数
在文件 webx_App.hpp 第 97 行定义.
|
inline |
设置可能在do中传递的参数
在文件 webx_App.hpp 第 100 行定义.
|
inline |
取得从run()传进的参数
在文件 webx_App.hpp 第 103 行定义.
|
inline |
取得从run()传进的参数
在文件 webx_App.hpp 第 107 行定义.
|
inline |
取得外部定义的相关数据
在文件 webx_App.hpp 第 110 行定义.
|
inline |
设置外部定义的相关数据
在文件 webx_App.hpp 第 113 行定义.
|
inline |
取得SessionServer *
在文件 webx_App.hpp 第 116 行定义.
|
inline |
设置SessionServer *
在文件 webx_App.hpp 第 119 行定义.
|
protected |
清空已加载的模块和WebMain函数
|
protected |
开发模式下,导入do文件并运行
|
protected |
产品模式下,导入do文件并运行
|
friend |
在文件 webx_App.hpp 第 174 行定义.
|
friend |
在文件 webx_App.hpp 第 175 行定义.
|
friend |
在文件 webx_App.hpp 第 176 行定义.
| winux::ConfigureSettings eienwebx::App::settings |
配置设置对象
在文件 webx_App.hpp 第 123 行定义.
| struct eienwebx::App::AppConfig eienwebx::App::appConfig |
| winux::StringStringMap eienwebx::App::environVars |
可执行文件的environ环境变量
在文件 webx_App.hpp 第 148 行定义.
|
protected |
会话服务器
在文件 webx_App.hpp 第 159 行定义.
|
protected |
来自run()传递进来的参数
在文件 webx_App.hpp 第 160 行定义.
|
protected |
来自setParam()传递进来的参数
在文件 webx_App.hpp 第 161 行定义.
|
protected |
创建App对象的程序传递进来的结构。由外部定义,定义是自定的,所在于全局名称空间::,可通过头文件定义结构再通过包含头文件去使用
在文件 webx_App.hpp 第 162 行定义.
|
protected |
已经加载的dll
在文件 webx_App.hpp 第 166 行定义.
|
protected |
已经取得的WebMain()指针
在文件 webx_App.hpp 第 169 行定义.
|
protected |
互斥量,保护App共用成员数据
在文件 webx_App.hpp 第 171 行定义.
|
protected |
是否设置Do文件目录作为工作目录,多线程环境下应该设为false
在文件 webx_App.hpp 第 172 行定义.