Functions

Global functions can be registered with Lua Bridge as well. These functions don't need to have the same signature as lua_CFunction; as Lua Bridge will generate the required glue code. Functions can be exposed with the addFunction function. This function takes two arguments. The first one is the Lua-side name of the function, and the second is a pointer to the function. The following code demonstrates how to do this:

int bar() {
return 2;
}

getGlobalNamespace(L)
.beginNamespace("foo")
.addFunction("bar", bar)
.endNamespace()

It is also possible to register functions written against the Lua C API that match the signature of lua_CFunction. You will most often do this if you need to port some legacy code over, in order to use Lua Bridge. Adding these functions works almost the same; the only difference is that the name of the function to add these types of functions is addCFunction. The following code demonstrates how to do this:

int bar(lua_State* L) {
lua_pushnumber(L, 2);
return 1;
}

getGlobalNamespace(L)
.beginNamespace("foo")
.addCFunction("bar", bar)
.endNamespace()
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.72.15