Example #1
0
        /// <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);
            }
        }
Example #2
0
 /// <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;
 }