public void Handle(object sender, DataEventArgs e) { try { StructureInterface info = null; switch (e.Id) { case (int)TypeId.GPS: info = gpsInfo; break; case (int)TypeId.ADINFO: info = adInfo; break; case (int)TypeId.Pose: info = poseInfo; break; case (int)TypeId.RawPos: info = RawposInfo; break; default: break; } if (info.Parse(e.Bytes)) { if (e.Id == (int)TypeId.GPS) { longitude = ((GPSInfo)info).Long; latitude = ((GPSInfo)info).Lat; } if (e.Id == (int)TypeId.RawPos) { AjustPositionInfo ajInfo = new AjustPositionInfo(); ajInfo.CalcPosition(UnitCore.Instance.SoundFile, UnitCore.Instance.SonarConfiguration, (RawPositionInfo)info, longitude, latitude); info = (StructureInterface)ajInfo; e.Id = (int)TypeId.AjustPos; } if (UnitCore.Instance.State != 0)//replaying { return; } UnitCore.Instance.EventAggregator.PublishMessage(new ShowStructureInfo(info, e.Id)); SaveRecvData(info, e.Id); } } catch (Exception ex) { UnitCore.Instance.EventAggregator.PublishMessage(new ErrorEvent(ex, LogType.Both)); } }
private void SaveRecvData(StructureInterface info, int p) { var ut = UnitCore.Instance.USBLTraceService; switch (p) { case (int)TypeId.GPS: var gps = info as GPSInfo; ut.SaveGPS(gps); break; case (int)TypeId.ADINFO: var ad = info as ADInfo; if (UnitCore.Instance.SonarConfiguration.ADSaved == 1) { ut.SaveAD(ad); } break; case (int)TypeId.Pose: var pose = info as PosetureInfo; if (UnitCore.Instance.SonarConfiguration.PoseSaved == 1) { ut.SavePose(pose); } break; case (int)TypeId.AjustPos: var adj = info as AjustPositionInfo; if (UnitCore.Instance.SonarConfiguration.PosSaved == 1) { ut.SavePosition(adj); } break; default: break; } }
public FileProcess(string fileName, StructureInterface <T> interf, Mode mod) { }
public ShowStructureInfo(StructureInterface info, int id) { Id = id; Info = info; }