@@ -23066,7 +23066,6 @@ typedef struct LuaCEmbed{
2306623066 lua_State *state;
2306723067 const char *current_function;
2306823068 bool is_lib;
23069- bool public_functions;
2307023069 int total_args;
2307123070 char *error_msg;
2307223071 void (*delete_function)(struct LuaCEmbed *self);
@@ -23099,7 +23098,7 @@ static void *private_LuaCembed_custom_allocator(void *ud, void *ptr, size_t osiz
2309923098
2310023099int private_LuaCemb_internal_free(lua_State *L);
2310123100
23102- LuaCEmbed * newLuaCEmbedLib(lua_State *state,bool public_functions );
23101+ LuaCEmbed * newLuaCEmbedLib(lua_State *state);
2310323102
2310423103int LuaCembed_perform(LuaCEmbed *self);
2310523104
@@ -23461,13 +23460,14 @@ void LuaCEmbed_set_global_table(LuaCEmbed *self, const char *name, LuaCEmbedTabl
2346123460
2346223461int privateLuaCEmbed_main_callback_handler(lua_State *L);
2346323462
23464- void private_LuaCEmbed_add_lib_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args) );
23463+ void private_LuaCEmbed_add_lib_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args),bool global_functions );
2346523464
2346623465void private_LuaCEmbed_add_evaluation_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args) );
2346723466
2346823467void LuaCEmbed_add_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args) );
2346923468
2347023469
23470+ void LuaCEmbed_add_global_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args));
2347123471
2347223472
2347323473
@@ -23747,7 +23747,7 @@ typedef struct{
2374723747 LuaCEmbedGlobalModule globals;
2374823748 LuaCembedTableModule tables;
2374923749 void (*clear_errors)(LuaCEmbed *self);
23750- LuaCEmbed * (*newLuaLib)(lua_State *state, bool public_functions );
23750+ LuaCEmbed * (*newLuaLib)(lua_State *state);
2375123751 void (*set_delete_function)(LuaCEmbed *self,void (*delelte_function)(struct LuaCEmbed *self));
2375223752 LuaCEmbed * (*newLuaEvaluation)();
2375323753 void (*load_lib_from_c)(LuaCEmbed *self,int (*callback)(lua_State *l),const char *name);
@@ -23781,6 +23781,8 @@ typedef struct{
2378123781
2378223782 int (*evaluete_file)(LuaCEmbed *self, const char *file);
2378323783 void (*add_callback)(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args) );
23784+ void (*add_global_callback)(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args) );
23785+
2378423786 void (*free)(LuaCEmbed *self);
2378523787
2378623788} LuaCEmbedNamespace;
@@ -23951,7 +23953,7 @@ int private_LuaCemb_internal_free(lua_State *L){
2395123953 LuaCEmbed_free(self);
2395223954 return 0;
2395323955}
23954- LuaCEmbed * newLuaCEmbedLib(lua_State *state,bool public_functions ){
23956+ LuaCEmbed * newLuaCEmbedLib(lua_State *state){
2395523957 LuaCEmbed *self = (LuaCEmbed*) malloc(sizeof (LuaCEmbed));
2395623958 *self = (LuaCEmbed){0};
2395723959
@@ -23973,7 +23975,6 @@ LuaCEmbed * newLuaCEmbedLib(lua_State *state,bool public_functions){
2397323975
2397423976
2397523977 self->is_lib = true;
23976- self->public_functions = public_functions;
2397723978 self->global_tables = (void*)newprivateLuaCEmbedTableArray();
2397823979
2397923980
@@ -26204,7 +26205,7 @@ int privateLuaCEmbed_main_callback_handler(lua_State *L){
2620426205}
2620526206
2620626207
26207- void private_LuaCEmbed_add_lib_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args) ){
26208+ void private_LuaCEmbed_add_lib_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args),bool global_functions ){
2620826209
2620926210 char *main_lib_table = private_LuaCembed_format(PRIVATE_LUA_CEMBED_MAIN_LIB_TABLE_NAME__,self->lib_identifier);
2621026211
@@ -26226,7 +26227,7 @@ void private_LuaCEmbed_add_lib_callback(LuaCEmbed *self, const char *callback_na
2622626227
2622726228
2622826229 lua_settable(self->state,-3);
26229- if(self->public_functions ){
26230+ if(global_functions ){
2623026231 //it points the function to a global function
2623126232 //like: callback = private_lua_c_embed_main_lib_table.callback
2623226233 lua_getglobal(self->state, main_lib_table);
@@ -26259,13 +26260,22 @@ void LuaCEmbed_add_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbe
2625926260 PRIVATE_LUA_CEMBED_PROTECT_VOID
2626026261
2626126262 if(self->is_lib){
26262- private_LuaCEmbed_add_lib_callback(self,callback_name,callback);
26263+ private_LuaCEmbed_add_lib_callback(self,callback_name,callback,false );
2626326264 return;
2626426265 }
2626526266 private_LuaCEmbed_add_evaluation_callback(self,callback_name,callback);
2626626267
2626726268}
2626826269
26270+ void LuaCEmbed_add_global_callback(LuaCEmbed *self, const char *callback_name, LuaCEmbedResponse* (*callback)(LuaCEmbed *args)){
26271+ PRIVATE_LUA_CEMBED_PROTECT_VOID
26272+
26273+ if(self->is_lib){
26274+ private_LuaCEmbed_add_lib_callback(self,callback_name,callback,true);
26275+ return;
26276+ }
26277+ private_LuaCEmbed_add_evaluation_callback(self,callback_name,callback);
26278+ }
2626926279
2627026280
2627126281
@@ -26924,7 +26934,7 @@ LuaCEmbedNamespace newLuaCEmbedNamespace(){
2692426934 self.get_evaluation_bool = LuaCEmbed_get_evaluation_bool;
2692526935 self.evaluete_file = LuaCEmbed_evaluete_file;
2692626936 self.add_callback = LuaCEmbed_add_callback;
26927-
26937+ self.add_global_callback = LuaCEmbed_add_global_callback;
2692826938 self.set_bool_lib_prop = LuaCEmbed_set_bool_lib_prop;
2692926939 self.set_long_lib_prop = LuaCEmbed_set_long_lib_prop;
2693026940 self.set_double_lib_prop = LuaCEmbed_set_double_lib_prop;
0 commit comments