ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::nscript< ESCRIPT > Class Template Reference

脚本绑定组件的通用模板(未特化版本)。 More...

#include <nscript.h>

Inheritance diagram for ngl::nscript< ESCRIPT >:
ngl::nscript_obj

Public Member Functions

enscript type () const noexcept override
 获取脚本引擎类型。
template<typename T>
bool init_sysdata (const T &asys)
 将进程/Actor系统数据推送到脚本运行时。
bool init (const char *asubdirectory, const char *ascript)
 创建运行时并加载脚本文件。
template<typename T>
bool data_push (const char *aname, const char *asource, const T &adata, bool aedit)
 通知脚本层一行数据库记录已创建/更新。
bool db_loadfinish ()
 通知脚本层初始数据库加载已完成。
template<typename T>
bool handle (const char *aname, const T &adata)
 将一个Actor消息分发到脚本层。
bool data_del (const char *aname, int64_t adataid)
 通知脚本层一行已被删除。
template<typename T>
bool data_checkout (const char *aname, i64_actorid adataid, T &adata)
 从脚本层拉取可能已编辑的单行。
template<typename T>
bool data_checkout (const char *aname, std::map< int64_t, T > &adata)
 从脚本层拉取一个表的所有已编辑行。
bool data_checkdel (const char *aname, int64_t adataid)
 检查一行是否在脚本状态中标记为已删除。
bool data_checkdel (const char *aname, std::vector< int64_t > &adataid)
 收集在脚本状态中标记为已删除的行。

Detailed Description

template<enscript ESCRIPT>
class ngl::nscript< ESCRIPT >

脚本绑定组件的通用模板(未特化版本)。

所有方法返回false,作为未实现脚本后端的占位符。 特化版本(如nscript<enscript_lua>)提供实际实现。

Template Parameters
ESCRIPT脚本引擎类型枚举值

Member Function Documentation

◆ data_checkdel() [1/2]

template<enscript ESCRIPT>
bool ngl::nscript< ESCRIPT >::data_checkdel ( const char * aname,
int64_t adataid )
inline

检查一行是否在脚本状态中标记为已删除。

Parameters
aname表名
adataid数据ID
Returns
bool 始终返回false(未实现)

◆ data_checkdel() [2/2]

template<enscript ESCRIPT>
bool ngl::nscript< ESCRIPT >::data_checkdel ( const char * aname,
std::vector< int64_t > & adataid )
inline

收集在脚本状态中标记为已删除的行。

Parameters
aname表名
adataid输出参数,收集已删除的数据ID列表
Returns
bool 始终返回false(未实现)

◆ data_checkout() [1/2]

template<enscript ESCRIPT>
template<typename T>
bool ngl::nscript< ESCRIPT >::data_checkout ( const char * aname,
i64_actorid adataid,
T & adata )
inline

从脚本层拉取可能已编辑的单行。

Template Parameters
T数据类型
Parameters
aname表名
adataid数据ID
adata输出参数,接收编辑后的数据
Returns
bool 始终返回false(未实现)

◆ data_checkout() [2/2]

template<enscript ESCRIPT>
template<typename T>
bool ngl::nscript< ESCRIPT >::data_checkout ( const char * aname,
std::map< int64_t, T > & adata )
inline

从脚本层拉取一个表的所有已编辑行。

Template Parameters
T数据类型
Parameters
aname表名
adata输出参数,接收ID->数据的映射
Returns
bool 始终返回false(未实现)

◆ data_del()

template<enscript ESCRIPT>
bool ngl::nscript< ESCRIPT >::data_del ( const char * aname,
int64_t adataid )
inline

通知脚本层一行已被删除。

Parameters
aname表名
adataid数据ID
Returns
bool 始终返回false(未实现)

◆ data_push()

template<enscript ESCRIPT>
template<typename T>
bool ngl::nscript< ESCRIPT >::data_push ( const char * aname,
const char * asource,
const T & adata,
bool aedit )
inline

通知脚本层一行数据库记录已创建/更新。

Template Parameters
T数据类型
Parameters
aname表名
asource数据来源标识
adata数据内容
aedit是否为编辑操作
Returns
bool 始终返回false(未实现)

◆ db_loadfinish()

template<enscript ESCRIPT>
bool ngl::nscript< ESCRIPT >::db_loadfinish ( )
inline

通知脚本层初始数据库加载已完成。

Returns
bool 始终返回false(未实现)

◆ handle()

template<enscript ESCRIPT>
template<typename T>
bool ngl::nscript< ESCRIPT >::handle ( const char * aname,
const T & adata )
inline

将一个Actor消息分发到脚本层。

Template Parameters
T消息数据类型
Parameters
aname消息名称
adata消息数据
Returns
bool 始终返回false(未实现)

◆ init()

template<enscript ESCRIPT>
bool ngl::nscript< ESCRIPT >::init ( const char * asubdirectory,
const char * ascript )
inline

创建运行时并加载脚本文件。

Parameters
asubdirectory脚本子目录
ascript脚本文件名
Returns
bool 始终返回false(未实现)

◆ init_sysdata()

template<enscript ESCRIPT>
template<typename T>
bool ngl::nscript< ESCRIPT >::init_sysdata ( const T & asys)
inline

将进程/Actor系统数据推送到脚本运行时。

Template Parameters
T系统数据类型
Parameters
asys系统数据
Returns
bool 始终返回false(未实现)

◆ type()

template<enscript ESCRIPT>
enscript ngl::nscript< ESCRIPT >::type ( ) const
inlineoverridevirtualnoexcept

获取脚本引擎类型。

Returns
enscript 脚本类型枚举值

Implements ngl::nscript_obj.


The documentation for this class was generated from the following file: