#pragma once
#include "base_head.h"
#include <afxwinappex.h>
#include "_error.h"
#include "dir_manager.h"
#include "_log.h"

class UTILES_EXPORT C_app //clase aplicacion----
{
	static C_app *p_app;//puntero a la clase aplicacion

public:
	//variables globales-----------------------
	Cdir_manager archi;//manager de archivos
	C_log log;//clase de trazas (log)
	C_error er;//clase de manejo de errores;
	//variables de thread;
	BOOL pirate;//indica a los thread que hay que irse
	long nth;//indica el numero de thread que hay activos
	C_app(void);
	virtual ~C_app(void);
	//funciones y overrides------------
	static C_app* GetApp();
	BOOL inicio();
	int fin();
	void suma_th();//aņade al conteo de thread +1
	void resta_th();//disminulle el conteo de thread en 1
	virtual BOOL on_inicia();//funcion inicia lo necesario para el programa
	virtual BOOL on_cierra();//funcion que se ejecuta al final del todo antes de cerrar
	
	virtual void cierra();//fuerza el fin de la aplicacion;
protected:

};


