/// <summary> /// Constructo. Este metodo se llama cuando se lanza la apliación. /// </summary> public Form1() { InitializeComponent(); //Contador usado para el envio y recepción de tramas. count = 0; //Crea el modelo de datos. CreateDataModel(); //------------------------------------ //Carga de los conectores y protocolos //------------------------------------ //Se cargan los conectores (Se usa el primero de la lista) listaConectores = ConectionConfig.LoadConfig("config.xml", "conector"); //Se cargan los protocolos listaProtocolos = ConectionConfig.LoadConfig("config.xml", "protocol"); //CONEXION try { //Se cargan los conectores conexionEstablecida = (IConector)listaConectores[0].getInstance(); //Se establece la conexión. //Inicialización de la lista de peticiones listaPeticiones = new ListaPeticiones(conexionEstablecida); //Se cargan los protocolos (Se usa el primero de la lista) protocoloEnUso = (IIOProtocolInterface)listaProtocolos[0].getInstance(); //Se prepara la lista de peticiones RellenarPeticiones(listaPeticiones); //Se enciende el timer. conexionEstablecida.Connect(listaConectores[0].Config); listaPeticiones.Start(); tm = new Timer(); tm.Interval = 50; tm.Tick += new EventHandler(ActualizaInterfaz); tm.Start(); } catch (Exception ex) { //Si ha habido algún error en la conexión se cierra y se muestra el mensaje. if (conexionEstablecida != null) { conexionEstablecida.Close(); conexionEstablecida = null; } MessageBox.Show("Error..... " + ex.Message); } }
/// <summary> /// Constructor, perimte crear un objeto de estado de petición. /// </summary> /// <param name="req">Petición que representará.</param> /// <param name="m">Modelo de datos que deben actualizar las peticiones represetnadas en este objeto.</param> /// <param name="hand">Manejador que actualizará los datos del modelo a partir de los datos recibidos en una petición.</param> /// <param name="p">Protocolo que se emplea en la petición.</param> public StatePeticion(byte[] req, Modelo m, CustomProcessRequestHandler hand, IIOProtocolInterface p, bool isvolatile = false) { Request = req; WaitResponse = false; modelo = m; delegadoProcesarRespuesta = hand; prot = p; isVolatile = isvolatile; }