tvariablebind.c
来自「tolua++是一个对lua进行封装调用的工具」· C语言 代码 · 共 632 行 · 第 1/2 页
C
632 行
tolua_pushnumber(tolua_S,(double)d);
return 1;
}
/* set function: d */
static int tolua_set_d(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
d = ((double) tolua_tonumber(tolua_S,2,0));
return 0;
}
/* get function: s */
static int tolua_get_s(lua_State* tolua_S)
{
tolua_pushstring(tolua_S,(const char*)s);
return 1;
}
/* get function: v */
static int tolua_get_v(lua_State* tolua_S)
{
tolua_pushuserdata(tolua_S,(void*)v);
return 1;
}
/* set function: v */
static int tolua_set_v(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isuserdata(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
v = ((void*) tolua_touserdata(tolua_S,2,0));
return 0;
}
/* get function: n */
static int tolua_get_n(lua_State* tolua_S)
{
tolua_pushstring(tolua_S,(const char*)n);
return 1;
}
/* set function: n */
static int tolua_set_n(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isstring(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
strncpy(n,tolua_tostring(tolua_S,2,0),64-1);
return 0;
}
/* get function: a */
static int tolua_get_a(lua_State* tolua_S)
{
tolua_pushusertype(tolua_S,(void*)&a,"A");
return 1;
}
/* set function: a */
static int tolua_set_a(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
a = *((A*) tolua_tousertype(tolua_S,2,0));
return 0;
}
/* get function: b */
static int tolua_get_b_ptr(lua_State* tolua_S)
{
tolua_pushusertype(tolua_S,(void*)b,"B");
return 1;
}
/* set function: b */
static int tolua_set_b_ptr(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isusertype(tolua_S,2,"B",0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
b = ((B*) tolua_tousertype(tolua_S,2,0));
return 0;
}
/* get function: u */
static int tolua_get_u(lua_State* tolua_S)
{
tolua_pushusertype(tolua_S,(void*)&u,"U");
return 1;
}
/* set function: u */
static int tolua_set_u(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isusertype(tolua_S,2,"U",0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
u = *((U*) tolua_tousertype(tolua_S,2,0));
return 0;
}
/* get function: mi */
static int tolua_get_M_mi(lua_State* tolua_S)
{
tolua_pushnumber(tolua_S,(double)mi);
return 1;
}
/* set function: mi */
static int tolua_set_M_mi(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
mi = ((int) tolua_tonumber(tolua_S,2,0));
return 0;
}
/* get function: mf */
static int tolua_get_M_mf(lua_State* tolua_S)
{
tolua_pushnumber(tolua_S,(double)mf);
return 1;
}
/* set function: mf */
static int tolua_set_M_mf(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
mf = ((float) tolua_tonumber(tolua_S,2,0));
return 0;
}
/* get function: md */
static int tolua_get_M_md(lua_State* tolua_S)
{
tolua_pushnumber(tolua_S,(double)md);
return 1;
}
/* set function: md */
static int tolua_set_M_md(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
md = ((double) tolua_tonumber(tolua_S,2,0));
return 0;
}
/* get function: ms */
static int tolua_get_M_ms(lua_State* tolua_S)
{
tolua_pushstring(tolua_S,(const char*)ms);
return 1;
}
/* get function: mv */
static int tolua_get_M_mv(lua_State* tolua_S)
{
tolua_pushuserdata(tolua_S,(void*)mv);
return 1;
}
/* set function: mv */
static int tolua_set_M_mv(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isuserdata(tolua_S,2,0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
mv = ((void*) tolua_touserdata(tolua_S,2,0));
return 0;
}
/* get function: mn */
static int tolua_get_M_mn(lua_State* tolua_S)
{
tolua_pushstring(tolua_S,(const char*)mn);
return 1;
}
/* get function: a */
static int tolua_get_M_a(lua_State* tolua_S)
{
tolua_pushusertype(tolua_S,(void*)&a,"A");
return 1;
}
/* set function: a */
static int tolua_set_M_a(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
a = *((A*) tolua_tousertype(tolua_S,2,0));
return 0;
}
/* get function: ma */
static int tolua_get_M_ma(lua_State* tolua_S)
{
tolua_pushusertype(tolua_S,(void*)&ma,"A");
return 1;
}
/* set function: ma */
static int tolua_set_M_ma(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
ma = *((A*) tolua_tousertype(tolua_S,2,0));
return 0;
}
/* get function: mb */
static int tolua_get_M_mb_ptr(lua_State* tolua_S)
{
tolua_pushusertype(tolua_S,(void*)mb,"B");
return 1;
}
/* set function: mb */
static int tolua_set_M_mb_ptr(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
tolua_Error tolua_err;
if (!tolua_isusertype(tolua_S,2,"B",0,&tolua_err))
tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
#endif
mb = ((B*) tolua_tousertype(tolua_S,2,0));
return 0;
}
/* Open function */
TOLUA_API int tolua_tvariable_open (lua_State* tolua_S)
{
tolua_open(tolua_S);
tolua_reg_types(tolua_S);
tolua_module(tolua_S,NULL,1);
tolua_beginmodule(tolua_S,NULL);
tolua_cclass(tolua_S,"A","A","",NULL);
tolua_beginmodule(tolua_S,"A");
tolua_variable(tolua_S,"i",tolua_get_A_i,tolua_set_A_i);
tolua_variable(tolua_S,"f",tolua_get_A_f,tolua_set_A_f);
tolua_variable(tolua_S,"d",tolua_get_A_d,tolua_set_A_d);
tolua_variable(tolua_S,"s",tolua_get_A_s,tolua_set_A_s);
tolua_variable(tolua_S,"v",tolua_get_A_v,tolua_set_A_v);
tolua_variable(tolua_S,"n",tolua_get_A_n,tolua_set_A_n);
tolua_endmodule(tolua_S);
tolua_cclass(tolua_S,"B","B","",NULL);
tolua_beginmodule(tolua_S,"B");
tolua_variable(tolua_S,"a",tolua_get_B_a,tolua_set_B_a);
tolua_variable(tolua_S,"b",tolua_get_B_b_ptr,tolua_set_B_b_ptr);
tolua_endmodule(tolua_S);
tolua_cclass(tolua_S,"U","U","",NULL);
tolua_beginmodule(tolua_S,"U");
tolua_variable(tolua_S,"i",tolua_get_U_i,tolua_set_U_i);
tolua_variable(tolua_S,"f",tolua_get_U_f,tolua_set_U_f);
tolua_endmodule(tolua_S);
tolua_variable(tolua_S,"i",tolua_get_i,tolua_set_i);
tolua_variable(tolua_S,"f",tolua_get_f,tolua_set_f);
tolua_variable(tolua_S,"d",tolua_get_d,tolua_set_d);
tolua_variable(tolua_S,"s",tolua_get_s,NULL);
tolua_variable(tolua_S,"v",tolua_get_v,tolua_set_v);
tolua_variable(tolua_S,"n",tolua_get_n,tolua_set_n);
tolua_variable(tolua_S,"a",tolua_get_a,tolua_set_a);
tolua_variable(tolua_S,"b",tolua_get_b_ptr,tolua_set_b_ptr);
tolua_variable(tolua_S,"u",tolua_get_u,tolua_set_u);
tolua_module(tolua_S,"M",1);
tolua_beginmodule(tolua_S,"M");
tolua_variable(tolua_S,"mi",tolua_get_M_mi,tolua_set_M_mi);
tolua_variable(tolua_S,"mf",tolua_get_M_mf,tolua_set_M_mf);
tolua_variable(tolua_S,"md",tolua_get_M_md,tolua_set_M_md);
tolua_variable(tolua_S,"ms",tolua_get_M_ms,NULL);
tolua_variable(tolua_S,"mv",tolua_get_M_mv,tolua_set_M_mv);
tolua_variable(tolua_S,"mn",tolua_get_M_mn,NULL);
tolua_variable(tolua_S,"a",tolua_get_M_a,tolua_set_M_a);
tolua_variable(tolua_S,"ma",tolua_get_M_ma,tolua_set_M_ma);
tolua_variable(tolua_S,"mb",tolua_get_M_mb_ptr,tolua_set_M_mb_ptr);
tolua_endmodule(tolua_S);
tolua_endmodule(tolua_S);
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?