frmListIconCfg::frmListIconCfg(dbSql *m_sql, stGrlCfg m_cfg, int m_id_cat, QString name_theme, QWidget *parent) : QDialog(parent), ui(new Ui::frmListIconCfg) { ui->setupUi(this); fGrl = new Funciones; editor = new CodeEditor(this, CodeEditor::Html); ui->verticalLayout_otherThemes->addWidget(editor); if( !name_theme.isEmpty() ) grlCfg.NameDirTheme = name_theme; fGrl->setTheme(grlCfg.NameDirTheme); fGrl->setIdioma(grlCfg.IdiomaSelect); grlCfg = m_cfg; sql = m_sql; id_cat = m_id_cat; grlDir.Home = fGrl->GRlidaHomePath(); grlDir.Datos = grlDir.Home +"datos/"; grlDir.Themes = grlDir.Home +"themes/"; cargarConfig(); cargarListaThemes(); cargarListaCategorias(); // centra la aplicacion en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
int main(int argc, char** argv) { //Verifico que se haya recibido por parámetro el archivo config. printf("%s", argv[1]); if (argc <= 1) { perror( "Se debe ingresar la dirección de un archivo de configuración\n"); return EXIT_FAILURE; } t_config *config = config_create(argv[1]); //Verifico que estén todos los valores esperados en el config. if (validarConfig(config)) { config_destroy(config); perror("El archivo de configuración no es correcto"); return EXIT_FAILURE; } //Cargo parámetros del config en variables de UMV. cargarConfig(config); //Creo Log. logger = log_create("logUmv", "UMV", false, LOG_LEVEL_TRACE); log_info(logger, "Comienza la ejecución de la UMV."); baseUMV = malloc(tamanoUMV); listaProcesos = list_create(); int* sinParametros=baseUMV; //Creo hilo que atiende a la consola. if (pthread_create(&atencion_consola, NULL, (void *) consola, (void*)sinParametros )) { log_error(logger, "Hubo un error en la creación del hilo de consola"); } else { log_info(logger, "El hilo de consola se creó correctamente"); } //Creo hilo que creará hilos que atienden al kernel/cpu's. if (pthread_create(&atencion_interna, NULL, (void *) atencionInterna, (void*)sinParametros )) { log_error(logger, "Hubo un error en la creación del hilo de atención interna"); } else { log_info(logger, "El hilo de atención interna se creó correctamente"); } pthread_join(atencion_consola,NULL); pthread_join(atencion_interna,NULL); list_destroy_and_destroy_elements(listaProcesos, (void*)free); config_destroy(config); log_info(logger, "El proceso UMV ha finalizado"); log_destroy(logger); return EXIT_SUCCESS; }
frmAcercaD::frmAcercaD(stGrlCfg m_cfg, QWidget *parent) : QDialog(parent), ui(new Ui::frmAcercaD) { ui->setupUi(this); fGrl = new Funciones; grlCfg = m_cfg; cargarConfig(); setTheme(); // centra la aplicacion en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
frmInstalarJuego::frmInstalarJuego(stGrlCfg m_cfg, QWidget *parent) : QDialog(parent), ui(new Ui::frmInstalarJuego) { ui->setupUi(this); fGrl = new Funciones; grlCfg = m_cfg; grlDir.Home = fGrl->GRlidaHomePath(); grlDir.Temp = grlDir.Home +"temp/"; cargarConfig(); setTheme(); // centra la aplicación en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
frmInfo::frmInfo(dbSql *m_sql, stGrlCfg m_cfg, QWidget *parent) : QDialog(parent), ui(new Ui::frmInfo) { ui->setupUi(this); fGrl = new Funciones; sql = m_sql; grlCfg = m_cfg; grlDir.Home = fGrl->GRlidaHomePath(); grlDir.Datos = grlDir.Home +"datos/"; cargarConfig(); setTheme(); cargarListaCategorias(); // centra la aplicacion en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
frmWizardVdmSound::frmWizardVdmSound(dbSql *m_sql, stGrlCfg m_cfg, stGrlCats m_categoria, QWidget *parent) : QDialog(parent), ui(new Ui::frmWizardVdmSound) { ui->setupUi(this); fGrl = new Funciones; sql = m_sql; grlCfg = m_cfg; categoria = m_categoria; grlDir.Home = fGrl->GRlidaHomePath(); grlDir.Confvdms = grlDir.Home +"confvdms/"+ categoria.tabla +"/"; cargarConfig(); setTheme(); // centra la aplicación en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
frmConfigInicial::frmConfigInicial(stGrlCfg m_cfg, QWidget *parent) : QDialog(parent), ui(new Ui::frmConfigInicial) { ui->setupUi(this); fGrl = new Funciones; grlCfg = m_cfg; grlDir.Home = fGrl->GRlidaHomePath(); grlDir.Idiomas = grlDir.Home +"idiomas/"; fGrl->setTheme(grlCfg.NameDirTheme); fGrl->setIdioma(grlCfg.IdiomaSelect); cargarConfig(); setTheme(); // centra la aplicacion en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
frmWizardDosBox::frmWizardDosBox(dbSql *m_sql, stGrlCfg m_cfg, stGrlCats m_categoria, QWidget *parent) : QDialog(parent), ui(new Ui::frmWizardDosBox) { ui->setupUi(this); fGrl = new Funciones; sql = m_sql; grlCfg = m_cfg; categoria = m_categoria; isDbxSVN = grlCfg.DOSBoxSVN; index_wizard = 0; grlDir.Home = fGrl->GRlidaHomePath(); grlDir.Confdbx = grlDir.Home +"confdbx/"+ categoria.tabla +"/"; grlDir.Datos = grlDir.Home +"datos/"; grlDir.Templates = grlDir.Home +"templates/"; cargarConfig(); setTheme(); // centra la aplicación en el escritorio this->setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, this->size(), qApp->desktop()->availableGeometry())); }
int main(int argc, char *argv[]) { int errorArgumentos = 0; int errorLogger = 0; int errorConfig = 0; int errorConexion = 0; int errorEnvio = 0; int statusRecepcion = 0; //Variables para el script FILE *script = NULL; //Variables para el logger t_log *logger = NULL; //Variables para el socket int unSocket = -1; struct sockaddr_in socketInfo; //Variables para la carga de la configuración t_config *config = NULL; errorArgumentos = checkArgs(argc); errorLogger = crearLogger(&logger); errorConfig = cargarConfig(&config); if(errorArgumentos || errorLogger || errorConfig) { goto liberarRecursos; return EXIT_FAILURE; } int puerto = config_get_int_value(config, "Puerto"); char *ip_kernel = config_get_string_value(config, "IP"); if ((script = fopen(argv[1],"r")) != NULL) { //Pudimos abrir el archivo correctamente //Entonces creamos la conexión log_info(logger, "Conectando a %s:%d ...", ip_kernel, puerto); errorConexion = crear_conexion_saliente(&unSocket, &socketInfo, ip_kernel, puerto, logger, "PROGRAMA"); if (errorConexion) { log_error(logger, "Error al conectar con el Kernel."); goto liberarRecursos; return EXIT_FAILURE; } log_info(logger, "Conexión establecida."); log_info(logger, "Comenzando a enviar el script AnSISOP."); errorEnvio = enviarDatos(script, unSocket, logger); if (errorEnvio) { goto liberarRecursos; return EXIT_FAILURE; } else { finalizarEnvio(&unSocket); log_info(logger, "Transmisión finalizada."); } //acá se abre la guarda para el modo debug t_paquete_programa paq; while(1){ statusRecepcion = recvAll(&paq, unSocket); if(statusRecepcion == 0){ log_error(logger, "Hubo un error al recibir un mensaje del Kernel."); } else { if(ejecutarMensajeKernel(paq.mensaje)){ //Si es 0 era porque era un imprimir/imprimirTexto. Si es 1, hay que terminar. log_info(logger, "Finalizó la ejecución del programa."); free(paq.mensaje); goto liberarRecursos; break; } } } //acá se cierra la guarda para el modo debug } else { log_error(logger,"No se pudo abrir el script AnSISOP. Motivo: %s", strerror(errno)); goto liberarRecursos; return EXIT_FAILURE; } goto liberarRecursos; return EXIT_SUCCESS; liberarRecursos: if(unSocket != -1) close(unSocket); if(script) fclose(script); if(logger) log_destroy(logger); if(config) config_destroy(config); }