예제 #1
0
        public void KeepAlive(AbstractTransport t, Destination address)
        {
            T.TRACE(0, "Solicitando keep alive.");
            var pdu = new PDU
            {
                CH          = (byte)Decoder.ComandoH.KeepAlive,
                DeviceId    = IdDispositivo,
                Transport   = t,
                Destination = address,
            };
            var keep_alive_mrc = new MRC(pdu, pdu.Transport, this);

            pdu.Transport.NuevaTransaccion(keep_alive_mrc, pdu);
            keep_alive_mrc.Seq = pdu.Seq;
            keep_alive_mrc.Start();
        }
예제 #2
0
        public void AutoReport(AbstractTransport t, Destination address, List <GPSPoint> puntos, int idQueue)
        {
            var req = new Posicion
            {
                DeviceId    = IdDispositivo,
                IdQueue     = idQueue,
                Transport   = t,
                Destination = address
            };

            req.AddPoints(puntos);
            var mrc = new MRC(req, t, this);

            // Seq: automatico aqui.
            t.NuevaTransaccion(mrc, req);
            mrc.Start();
        }
예제 #3
0
        public void LoginRequest(AbstractTransport t, Destination address, string IMEI, string password, short tableversion, string firmware)
        {
            var req = new LoginRequest
            {
                DeviceId     = IdDispositivo,
                IMEI         = IMEI,
                Password     = password,
                Firmware     = firmware,
                TableVersion = tableversion,
                Destination  = address
            };
            var mrc = new MRC(req, t, this);

            // Seq, automatico aqui.
            t.NuevaTransaccion(mrc, req);
            mrc.Start();
        }
예제 #4
0
        public void Command(short devid, Transporte t, byte tipo, byte[] datos)
        {
            var d = Devices.I().FindById(devid);

            if (d == null)
            {
                throw new NullReferenceException(String.Format("COMMAND: El dispositivo no existe dev_id={0}.", devid));
            }
            var req = new Command(tipo)
            {
                IdDispositivo = devid,
                Datos         = datos,
                Destino       = d.Destino
            };
            var mrc = new MRC(req, t, this);

            // Seq, automatico aqui.
            t.NuevaTransaccion(mrc, req);
            mrc.Start();
        }