public RFIDDetectado(byte[] buffer, int pos) { PDU this_pdu = this; Entrante = true; UrbetrackCodec.DecodeHeaders(buffer, ref this_pdu, ref pos); var d = Devices.I().FindById(this_pdu.IdDispositivo); switch (CL) { case 0x00: IdTarjeta = UrbetrackCodec.DecodeString(buffer, ref pos); Posicion = UrbetrackCodec.DecodeGPSPoint(buffer, ref pos); Status = 0xFE; break; case 0x20: IdTarjeta = UrbetrackCodec.DecodeString(buffer, ref pos); Posicion = d.SupportsGPSPointEx ? UrbetrackCodec.DecodeGPSPointEx(buffer, ref pos, d) : UrbetrackCodec.DecodeGPSPoint(buffer, ref pos); Status = UrbetrackCodec.DecodeByte(buffer, ref pos); break; default: throw new Exception("No conincide CL con el Tipo RFID Detectado."); } }
public Heartbeat(byte[] buffer, int pos) { Entrante = true; PDU this_pdu = this; UrbetrackCodec.DecodeHeaders(buffer, ref this_pdu, ref pos); signature = UrbetrackCodec.DecodeString(buffer, ref pos); }
public RemoteShell(byte[] buffer, int pos) { PDU this_pdu = this; Entrante = true; UrbetrackCodec.DecodeHeaders(buffer, ref this_pdu, ref pos); Order = UrbetrackCodec.DecodeInteger(buffer, ref pos); CommandLine = UrbetrackCodec.DecodeString(buffer, ref pos); }
public LoginRequest(byte[] buffer, int pos) { PDU this_pdu = this; Entrante = true; UrbetrackCodec.DecodeHeaders(buffer, ref this_pdu, ref pos); IMEI = UrbetrackCodec.DecodeString(buffer, ref pos); Password = UrbetrackCodec.DecodeString(buffer, ref pos); Firmware = UrbetrackCodec.DecodeString(buffer, ref pos); ConfigRevision = UrbetrackCodec.DecodeShort(buffer, ref pos); var d = Fleet.Devices.I().FindById(IdDispositivo); switch (CL) { case 0x00: DetectedDeviceType = DeviceTypes.Types.SISTELCOM_v1; break; case 0x01: PendingMessages = UrbetrackCodec.DecodeShort(buffer, ref pos); DetectedDeviceType = DeviceTypes.Types.SISTELCOM_v2; break; case 0x02: DetectedDeviceType = DeviceTypes.Types.URB_v0_5; break; case 0x04: DetectedDeviceType = DeviceTypes.Types.URBMOBILE_v0_1; break; case 0x06: DetectedDeviceType = DeviceTypes.Types.URB_v0_7; QTreeRevision = UrbetrackCodec.DecodeInteger(buffer, ref pos); XbeeHardware = UrbetrackCodec.DecodeString(buffer, ref pos); XbeeFirmware = UrbetrackCodec.DecodeString(buffer, ref pos); break; case 0x10: DetectedDeviceType = DeviceTypes.Types.URBETRACK_v0_8n; QTreeRevision = UrbetrackCodec.DecodeInteger(buffer, ref pos); XbeeHardware = UrbetrackCodec.DecodeString(buffer, ref pos); XbeeFirmware = UrbetrackCodec.DecodeString(buffer, ref pos); SecureId = UrbetrackCodec.DecodeString(buffer, ref pos); break; case 0x11: case 0x12: case 0x13: case 0x14: DetectedDeviceType = CL <= 0x12 ? DeviceTypes.Types.URBETRACK_v0_8 : DeviceTypes.Types.URBETRACK_v1_0; QTreeRevision = UrbetrackCodec.DecodeInteger(buffer, ref pos); if (CL > 0x12) { MessagesRevision = UrbetrackCodec.DecodeInteger(buffer, ref pos); } XbeeHardware = UrbetrackCodec.DecodeString(buffer, ref pos); XbeeFirmware = UrbetrackCodec.DecodeString(buffer, ref pos); SecureId = UrbetrackCodec.DecodeString(buffer, ref pos); if (CL == 0x11 || CL == 0x13) { GPSPoint = UrbetrackCodec.DecodeGPSPointEx(buffer, ref pos, d); RiderIdentifier = Encoding.ASCII.GetString(UrbetrackCodec.DecodeBytes(buffer, ref pos, 10)); } break; default: DetectedDeviceType = DeviceTypes.Types.UNKNOW_DEVICE; break; } }