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()));
}
Beispiel #2
0
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;
}
Beispiel #3
0
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()));
}
Beispiel #5
0
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()));
}
Beispiel #9
0
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);
}