fastdo
0.6.8
|
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传递的参数 更多... | |
template<typename _Ty > | |
_Ty | getParam () const |
取得do传递的参数 更多... | |
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) |
ErrorCode | _importDoFileProduction (winux::String const &doFullPath, Response *rsp, void *runParam, int *retCode, winux::String *errDetail) |
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 第 158 行定义.
|
protected |
WebMain函数对象类型
在文件 webx_App.hpp 第 161 行定义.
执行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 |
析构函数
|
protected |
清空已加载的模块和WebMain函数
|
protected |
|
protected |
winux::String eienwebx::App::dumpEnv | ( | ) | const |
倾泻出应用全部环境变量
|
virtual |
执行生成页面内容的过程,载入绝对路径doFullPath的do文件,并调用其WebMain()。
|
inline |
取得外部定义的相关数据
在文件 webx_App.hpp 第 103 行定义.
|
inline |
取得do传递的参数
在文件 webx_App.hpp 第 86 行定义.
|
inline |
取得do传递的参数
在文件 webx_App.hpp 第 90 行定义.
|
inline |
取得从run()传进的参数
在文件 webx_App.hpp 第 96 行定义.
|
inline |
取得从run()传进的参数
在文件 webx_App.hpp 第 100 行定义.
|
inline |
取得SessionServer
在文件 webx_App.hpp 第 109 行定义.
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的详细错误信息 |
bool eienwebx::App::init | ( | winux::ConfigureSettings const & | settings, |
AppServerExternalData * | externalData | ||
) |
初始化App对象
int eienwebx::App::loadedDoFiles | ( | winux::Mixed * | arrDoFiles | ) | const |
产品模式下,显示所有已经加载的do文件
int eienwebx::App::loadedModules | ( | winux::Mixed * | arrModules | ) | const |
显示已经加载的模块
App& eienwebx::App::loadEnv | ( | ) |
加载可执行文件的环境变量
winux::DllLoader& eienwebx::App::loadModule | ( | winux::String const & | modFullPath | ) |
加载一个模块,若已经加载则返回其引用.
modFullPath | mod文件绝对路径 |
|
virtual |
运行处理
被 eienwebx::HttpApp , 以及 eienwebx::FcgiApp 重载.
|
inline |
设置外部定义的相关数据
在文件 webx_App.hpp 第 106 行定义.
|
inline |
设置do传递参数
在文件 webx_App.hpp 第 93 行定义.
|
inline |
设置SessionServer
在文件 webx_App.hpp 第 112 行定义.
bool eienwebx::App::unloadDoFile | ( | winux::String const & | doFullPath | ) |
卸载指定的do文件
doFullPath | do文件绝对路径 |
bool eienwebx::App::unloadModule | ( | winux::String const & | modFullPath | ) |
卸载一个模块
modFullPath | mod文件绝对路径 |
|
friend |
在文件 webx_App.hpp 第 169 行定义.
|
friend |
在文件 webx_App.hpp 第 168 行定义.
|
friend |
在文件 webx_App.hpp 第 167 行定义.
|
protected |
创建App对象的程序传递进来的结构。由外部定义,定义是自定的,所在于全局名称空间::,可通过头文件定义结构再通过包含头文件去使用
在文件 webx_App.hpp 第 155 行定义.
|
protected |
是否设置Do文件目录作为工作目录,多线程环境下应该设为false
在文件 webx_App.hpp 第 165 行定义.
|
protected |
已经加载的dll
在文件 webx_App.hpp 第 159 行定义.
|
protected |
已经取得的WebMain()指针
在文件 webx_App.hpp 第 162 行定义.
|
protected |
互斥量,保护App共用成员数据
在文件 webx_App.hpp 第 164 行定义.
|
protected |
来自setParam()传递进来的参数
在文件 webx_App.hpp 第 154 行定义.
|
protected |
来自run()传递进来的参数
在文件 webx_App.hpp 第 153 行定义.
|
protected |
会话服务器
在文件 webx_App.hpp 第 152 行定义.
struct eienwebx::App::AppConfig eienwebx::App::appConfig |
winux::StringStringMap eienwebx::App::environVars |
可执行文件的environ环境变量
在文件 webx_App.hpp 第 143 行定义.
winux::ConfigureSettings eienwebx::App::settings |