/* * Get current configuration parameters. */ static void fetch_config_values (void) { db_host = config_get_value("db_host"); db_name = config_get_value("db_name"); db_user = config_get_value("db_user"); db_passwd = config_get_value("db_passwd"); ticker_home = config_get_value("ticker_home"); pid_file = config_get_value("pid_file"); ticker_state = config_get_value("ticker_state"); debug_logfile = config_get_value("debug_logfile"); error_logfile = config_get_value("error_logfile"); msg_logfile = config_get_value("msg_logfile"); tick_interval = config_get_long_value("tick_interval"); sleep_time = config_get_long_value("sleep_time"); }
lectura* leerConfiguracion() { FILE *fp; fp = fopen(PATH, "r"); lectura* a; if (fp) { a = malloc(sizeof(lectura)); unsigned int tam; fclose(fp); t_config *archivo; archivo = config_create(PATH); tam = string_length(config_get_string_value(archivo, "PUERTO_FS")); a->puertoFs = malloc(tam + 1); strcpy(a->puertoFs, config_get_string_value(archivo, "PUERTO_FS")); tam = string_length(config_get_string_value(archivo, "IP_FS")); a->ipFS = malloc(tam + 1); strcpy(a->ipFS, config_get_string_value(archivo, "IP_FS")); tam = string_length(config_get_string_value(archivo, "ARCHIVO_BIN")); a->nombreBin = malloc(tam + 1); strcpy(a->nombreBin, config_get_string_value(archivo, "ARCHIVO_BIN")); tam = string_length(config_get_string_value(archivo, "DIR_TEMP")); a->dirTemp = malloc(tam + 1); strcpy(a->dirTemp, config_get_string_value(archivo, "DIR_TEMP")); a->nombreNodo = config_get_int_value(archivo, "NOMBRE_NODO"); a->tamanioNodo = config_get_long_value(archivo, "TAMANIO_NODO"); tam = string_length(config_get_string_value(archivo, "PUERTO_NODO")); a->puertoEscucha = malloc(tam + 1); strcpy(a->puertoEscucha, config_get_string_value(archivo, "PUERTO_NODO")); config_destroy(archivo); return a; } else { loguearme(PATH_LOG, "Proceso Nodo", 1, LOG_LEVEL_ERROR, "El archivo .conf no existe"); } return NULL; }
////////////////////////////////////////////////////ESPACIO DE FUNCIONES//////////////////////////////////////////////////// int leerArchivoConfiguracion(){ //VOY A LEER EL ARCHIVO DE CONFIGURACION DE UN NIVEL// char *PATH_LOG = config_get_string_value(config, "PATH_LOG"); graficar = config_get_int_value(config, "graficar"); nombre= config_get_string_value(config, "Nombre"); if(graficar){ logger = log_create(PATH_LOG, "NIVEL", false, LOG_LEVEL_INFO); pthread_mutex_lock(&mutex_log); log_info(logger, "La config de graficado para el %s es %d",nombre,graficar); pthread_mutex_unlock(&mutex_log); }else{ logger = log_create(PATH_LOG, "NIVEL", true, LOG_LEVEL_INFO); pthread_mutex_lock(&mutex_log); log_info(logger, "La config de graficado para el %s es %d",nombre,graficar); pthread_mutex_unlock(&mutex_log); } pthread_mutex_lock(&mutex_log); log_info(logger, "Voy a leer mi archivo de configuracion"); log_info(logger, "Encontramos los atributos de %s",nombre); pthread_mutex_unlock(&mutex_log); quantum = config_get_int_value(config, "quantum"); pthread_mutex_lock(&mutex_log); log_info(logger, "El quantum para %s es de %d ut",nombre,quantum); pthread_mutex_unlock(&mutex_log); recovery = config_get_int_value(config, "Recovery"); pthread_mutex_lock(&mutex_log); log_info(logger, "El recovery para %s es de %d ut",nombre,recovery); pthread_mutex_unlock(&mutex_log); enemigos = config_get_int_value(config, "Enemigos"); pthread_mutex_lock(&mutex_log); log_info(logger, "La cantidad de enemigos de %s es %d",nombre,enemigos); pthread_mutex_unlock(&mutex_log); tiempoDeadlock = config_get_long_value(config, "TiempoChequeoDeadlock"); pthread_mutex_lock(&mutex_log); log_info(logger, "El tiempo de espera para ejecucion del hilo de deadlock para %s es de %d ut",nombre,tiempoDeadlock); pthread_mutex_unlock(&mutex_log); sleepEnemigos = config_get_long_value(config, "Sleep_Enemigos"); pthread_mutex_lock(&mutex_log); log_info(logger, "El tiempo de espera para mover los enemigos para %s es de %d ut",nombre,sleepEnemigos); pthread_mutex_unlock(&mutex_log); algoritmo=config_get_string_value(config,"algoritmo"); pthread_mutex_lock(&mutex_log); log_info(logger, "El %s se planificara con algoritmo %s",nombre,algoritmo); pthread_mutex_unlock(&mutex_log); direccionIPyPuerto = config_get_string_value(config, "Plataforma"); pthread_mutex_lock(&mutex_log); log_info(logger, "El %s tiene la platforma cuya direccion es %s",nombre,direccionIPyPuerto); pthread_mutex_unlock(&mutex_log); retardo = config_get_int_value(config, "retardo"); pthread_mutex_lock(&mutex_log); log_info(logger, "El retardo para el %s es de %d milisegundos",nombre,retardo); pthread_mutex_unlock(&mutex_log); distancia = config_get_int_value(config, "distancia"); pthread_mutex_lock(&mutex_log); log_info(logger, "El remaining distance para el %s es de %d",nombre,distancia); pthread_mutex_unlock(&mutex_log); crearLosEnemigos = config_get_int_value(config, "crearLosEnemigos"); activarInterbloqueo = config_get_int_value(config, "activarInterbloqueo"); // LEO LAS CAJAS DEL NIVEL // char litCaja[6]="Caja1\0"; bool ret = config_has_property(config, litCaja); while (ret!=true){ //POR SI EMPIEZA EN UNA CAJA DISTINTA DE 1 litCaja[4]++; } while (ret == true){ char **caja = config_get_array_value(config, litCaja); crearCaja(caja); litCaja[4]++; pthread_mutex_lock(&mutex_log); log_info(logger, "El %s tiene %s cuyo simbolo es %s tiene %s instancias y su posicion x e y son %s %s",nombre,caja[0], caja[1],caja[2],caja[3],caja[4]); pthread_mutex_unlock(&mutex_log); ret = config_has_property(config, litCaja); } return EXIT_SUCCESS; }