Main.c (924B)
1 #include <EGong/Main.h> 2 #include <EGong/Interfaces.h> 3 #include <EGong/Util/Waiter.h> 4 #include <EGong/CNC.h> 5 #include <EGong/Util/Dependencies.h> 6 #include <EGong/Util/Misc.h> 7 #include <EGong/Util/Log.h> 8 #include <EGong/Util/Config.h> 9 10 int(*Egong_main_loop_ptr)(void)=&EGong_main_loop_default; 11 int EGong_main_do(void){ 12 return EGong_interface_cycle(); 13 } 14 int EGong_main_init(void){ 15 EGong_config_init(NULL); 16 EGong_misc_rand_init(); 17 if(EGong_waiter_init()<0){ 18 return -1; 19 } 20 21 if(EGong_interface_init(0)<0){ 22 return -1; 23 } 24 return 0; 25 } 26 27 int EGong_main_loop(){ 28 return Egong_main_loop_ptr(); 29 } 30 31 int EGong_main_loop_default(void){ 32 int ret; 33 EGong_main_do(); 34 do_log("Entering defaultloop", LOG_TYPE_NORMAL, LOG_LEVEL_DEBUG); 35 while(1){ 36 if(EGong_waiter_wait()!=0){ 37 return -1; 38 } 39 ret=EGong_main_do(); 40 if(ret!=0){ 41 return ret; 42 } 43 } 44 return 0; 45 } 46 47 void EGong_main_deinit(void){ 48 EGong_deps_deinit(EGONG_DEP_ALL); 49 }