#include <stdio.h>#include <stdbool.h>#include <stdlib.h>#include <string.h>#include <stdint.h>#include <pthread.h>#include <semaphore.h>#include <sys/time.h>#include <signal.h>#include <lua.h>#include <lualib.h>#include <lauxlib.h>#include <Integra/integra_server.h>#include <Integra/integra_types.h>#include <Integra/integra_lua.h>#include "luascripting.h"#include "server.h"#include "collection.h"#include "debug.h"#include "atomic/lffifo.h"#include "lua_init.c"Data Structures | |
| struct | unrun_script_t |
Defines | |
| #define | _POSIX_C_SOURCE 200112L |
| #define | SERVER_LOCK |
| #define | SERVER_UNLOCK |
| #define | SERVER_DO(rettype, name, nargs, server_do_args, callback_args, dispatching,...) |
| #define | SERVER_DO1(rettype, name, type1, var1) SERVER_DO(rettype,name,1,(name##_callback,1,var1),(server,var1),type1 var1=va_arg(argv,type1);,type1 var1) |
| #define | SERVER_DO2(rettype, name, type1, var1, type2, var2) SERVER_DO(rettype,name,2,(name##_callback,2,var1,var2),(server,var1,var2),type1 var1=va_arg(argv,type1);type2 var2=va_arg(argv,type2);,type1 var1,type2 var2) |
| #define | SERVER_DO3(rettype, name, type1, var1, type2, var2, type3, var3) SERVER_DO(rettype,name,3,(name##_callback,3,var1,var2,var3),(server,var1,var2,var3),type1 var1=va_arg(argv,type1);type2 var2=va_arg(argv,type2);type3 var3=va_arg(argv,type3),type1 var1,type2 var2,type3 var3) |
| #define | ICD_ARGS ilua_server, source_name, source_attribute, target_name, target_attribute |
Functions | |
| bool | init_luascripting (ntg_server *server) |
| void | ntg_lua_eval (ntg_server *server, const char *string) |
| Evaluate a string containing lua code. | |
Variables | |
| struct { | |
| ntg_server * server | |
| lua_State * L | |
| } | luascripting_t |
| #define _POSIX_C_SOURCE 200112L |
| #define ICD_ARGS ilua_server, source_name, source_attribute, target_name, target_attribute |
| #define SERVER_DO | ( | rettype, | |||
| name, | |||||
| nargs, | |||||
| server_do_args, | |||||
| callback_args, | |||||
| dispatching, | |||||
| ... | ) |
static void* name##_callback(ntg_server *server,const int argc,va_list argv); \ static rettype name##_callback2(ntg_server *server,__VA_ARGS__); \ \ rettype name(ntg_server *server,__VA_ARGS__){ \ return (rettype) ntg_server_do server_do_args ; \ } \ \ static void* name##_callback(ntg_server *server,const int argc,va_list argv){ \ dispatching \ return (void*) name##_callback2 callback_args ; \ } \ \ static rettype name##_callback2(ntg_server *server,__VA_ARGS__)
| #define SERVER_DO1 | ( | rettype, | |||
| name, | |||||
| type1, | |||||
| var1 | ) | SERVER_DO(rettype,name,1,(name##_callback,1,var1),(server,var1),type1 var1=va_arg(argv,type1);,type1 var1) |
| #define SERVER_DO2 | ( | rettype, | |||
| name, | |||||
| type1, | |||||
| var1, | |||||
| type2, | |||||
| var2 | ) | SERVER_DO(rettype,name,2,(name##_callback,2,var1,var2),(server,var1,var2),type1 var1=va_arg(argv,type1);type2 var2=va_arg(argv,type2);,type1 var1,type2 var2) |
| #define SERVER_DO3 | ( | rettype, | |||
| name, | |||||
| type1, | |||||
| var1, | |||||
| type2, | |||||
| var2, | |||||
| type3, | |||||
| var3 | ) | SERVER_DO(rettype,name,3,(name##_callback,3,var1,var2,var3),(server,var1,var2,var3),type1 var1=va_arg(argv,type1);type2 var2=va_arg(argv,type2);type3 var3=va_arg(argv,type3),type1 var1,type2 var2,type3 var3) |
| #define SERVER_LOCK |
ntg_lock_server(); \ lua_locked_server=true;
| #define SERVER_UNLOCK |
lua_locked_server=false; \ ntg_unlock_server()
| bool init_luascripting | ( | ntg_server * | server | ) |
References luascripting_t.
Referenced by ntg_server_new().
| void ntg_lua_eval | ( | ntg_server * | server, | |
| const char * | string | |||
| ) |
Evaluate a string containing lua code.
Note, the function returns immediately, and it doesn't matter whether the server is locked or not when calling.
| server | Server object created by ntg_server_new | |
| string | A string containing lua code The string can contain several lines separated by lineshifts. |
References unrun_script_t::script.
Referenced by ntg_runscript().
| lua_State* L |
Referenced by ntg_instance_new().
| struct { ... } luascripting_t |
Referenced by init_luascripting().
1.6.1