EGong

git clone git://xatko.vsos.ethz.ch/EGong.git
Log | Files | Refs

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 }