protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIInfoSW info = (CIInfoSW)aParameters.Container.ChildByType(typeof(CIInfoSW)); if (info != null) { // Checksum if (info.ImageCheckSum != 0) { aParameters.Writer.WriteElementString(SegConstants.CmnChecksum, info.ImageCheckSum.ToString("x8")); } // Date and time CXmlNode.WriteDate(aParameters.Writer, info.ImageTimeStamp, SegConstants.CmnDate); CXmlNode.WriteTime(aParameters.Writer, info.ImageTimeStamp, SegConstants.CmnTime); // Platform string platform = info.Platform; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.SWInfo_Platform, platform); // Language string language = info.Language; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.SWInfo_Language, language); } }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIInfoSW info = (CIInfoSW)aParameters.Container.ChildByType(typeof(CIInfoSW)); if (info != null) { base.XmlSerialize(aParameters); } }
// Returns true if there exists symbols private bool ContainsSymbols(CIContainer aContainer) { DbgEntityConfig config = null; CIInfoSW info = (CIInfoSW)aContainer.ChildByType(typeof(CIInfoSW)); if (info != null) { config = aContainer.Engine.DebugEngine.ConfigManager.ConfigById(new DbgEntityConfigIdentifier(info.ImageCheckSum)); } return(config != null || iInputs.SymbolsGiven); }
public static uint GetRomChecksum(CIContainer aContainer) { uint ret = 0; // Find the infosw item in order to obtain the image checksum CIInfoSW infoSW = aContainer.ChildByType(typeof(CIInfoSW)) as CIInfoSW; if (infoSW != null) { ret = infoSW.ImageCheckSum; } return(ret); }
/** Add romid, timestamp, platform, language and sw version */ internal void AddSWInfos(CIContainer aContainer) { CIInfoSW info = (CIInfoSW)aContainer.ChildByType(typeof(CIInfoSW)); if (info != null) { //RomID if (info.ImageCheckSum != 0) { iRomId = info.ImageCheckSum; } //Platform iPlatform = info.Platform; //Language iLanguage = info.Language; //Version const string KInfoSW_Version_Runtime = "Runtime Version"; const string KInfoSW_Version_Variant = "Variant Version"; const string KInfoSW_Version_S60 = "S60 Version"; foreach (CIVersionInfo version in info) { if (version.IsValid && version.Name == KInfoSW_Version_Runtime) { iSWVersion = version.Value; } if (version.IsValid && version.Name == KInfoSW_Version_Variant) { iVariantVersion = version.Value; } if (version.IsValid && version.Name == KInfoSW_Version_S60) { iS60Version = version.Value; } } //Timestamp DateTime timeStamp = info.ImageTimeStamp; String date = timeStamp.ToString("yyyyMMdd", DateTimeFormatInfo.InvariantInfo); int hour = timeStamp.Hour; int minute = timeStamp.Minute; int second = timeStamp.Second; iTimeStampText = date + hour.ToString().PadLeft(2, '0') + minute.ToString().PadLeft(2, '0') + second.ToString().PadLeft(2, '0'); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIInfoSW info = (CIInfoSW)aParameters.Container.ChildByType(typeof(CIInfoSW)); if (info != null) { int count = info.VersionCount; if (count > 0) { CXmlVersionText.WriteVersionTextListStart(aParameters.Writer); foreach (CIVersionInfo version in info) { if (version.IsValid) { CXmlVersionText xmlVersion = new CXmlVersionText(version.Value); xmlVersion.XmlSerialize(aParameters); } } CXmlVersionText.WriteVersionTextListEnd(aParameters.Writer); } } }
private void SetArchiveFileName(string aFileFullPath, CIContainer aContainer, CISink sink) { string fileName = Path.GetFileName(aFileFullPath); //add romid to filename if not already there CIInfoSW info = (CIInfoSW)aContainer.ChildByType(typeof(CIInfoSW)); if (info != null) { //RomID if (info.ImageCheckSum != 0) { string romid = info.ImageCheckSum.ToString("x8"); if (fileName.Length < 8 || fileName.Substring(0, 8) != romid) { fileName = romid + "_" + fileName; } } } string basename = Path.GetFileNameWithoutExtension(fileName); string extension = Path.GetExtension(aFileFullPath); string archiveNamePath = Path.Combine(iInputs.ArchivePath, fileName); //Path.GetFileName(iInputs.ArchivePath)); int counter = 1; while (File.Exists(archiveNamePath)) { archiveNamePath = Path.Combine(iInputs.ArchivePath, basename + "_" + counter.ToString() + extension); counter++; } iInputs.SinkParameters.OperationData1 = (Object)archiveNamePath; iBinFileArchivePathName = archiveNamePath; }