/// <summary> /// Loads the critical record data from the well-known record. /// </summary> protected void loadCriticalData() { var srcCriticalData = getCriticalRecordData(); var strCriticalData = srcCriticalData.GetStrData().Trim().Replace("\r\n", "\n").Replace("\n\r", "\n"); var strCriticalRecords = strCriticalData.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var strCriticalRecord in strCriticalRecords) { UInt32 uintFormId; if ( !UInt32.TryParse(strCriticalRecord.Substring(0, 8), NumberStyles.HexNumber, null, out uintFormId)) { continue; } var criInfo = new CriticalRecordInfo(); criInfo.Severity = (CriticalRecordInfo.ConflictSeverity) Int32.Parse(strCriticalRecord[9].ToString(), NumberStyles.HexNumber); criInfo.Reason = strCriticalRecord.Substring(11); m_dicCriticalRecords[uintFormId] = criInfo; } }
/// <summary> /// A simple constructor that initializes the object with the given values. /// </summary> /// <param name="p_plgConflictedPlugin">The plugin that is conflicted.</param> /// <param name="p_plgConflictingPlugin">The plugin that is conflicting.</param> /// <param name="p_uintFormId">The form id that is overridden.</param> /// <param name="p_criInfo">The <see cref="CriticalRecordInfo"/> describing the conflict.</param> public ConflictDetectedEventArgs(Plugin p_plgConflictedPlugin, Plugin p_plgConflictingPlugin, UInt32 p_uintFormId, CriticalRecordInfo p_criInfo) { ConflictedPlugin = p_plgConflictedPlugin; ConflictingPlugin = p_plgConflictingPlugin; FormId = p_uintFormId; ConflictInfo = p_criInfo; }
/// <summary> /// A simple constructor that initializes the object with the given values. /// </summary> /// <param name="p_plgConflictedPlugin">The plugin that is conflicted.</param> /// <param name="p_plgConflictingPlugin">The plugin that is conflicting.</param> /// <param name="p_uintFormId">The form id that is overridden.</param> /// <param name="p_criInfo">The <see cref="CriticalRecordInfo" /> describing the conflict.</param> public ConflictDetectedEventArgs(Plugin p_plgConflictedPlugin, Plugin p_plgConflictingPlugin, UInt32 p_uintFormId, CriticalRecordInfo p_criInfo) { ConflictedPlugin = p_plgConflictedPlugin; ConflictingPlugin = p_plgConflictingPlugin; FormId = p_uintFormId; ConflictInfo = p_criInfo; }
/// <summary> /// Raises the <see cref="ConflictDetected" /> event. /// </summary> /// <param name="p_plgConflictedPlugin">The plugin that is conflicted.</param> /// <param name="p_plgConflictingPlugin">The plugin that is conflicting.</param> /// <param name="p_uintFormId">The form id that is overridden.</param> /// <param name="p_criInfo">The <see cref="CriticalRecordInfo" /> describing the conflict.</param> protected void OnConflictDetected(Plugin p_plgConflictedPlugin, Plugin p_plgConflictingPlugin, UInt32 p_uintFormId, CriticalRecordInfo p_criInfo) { if (ConflictDetected != null) { var cdaArgs = new ConflictDetectedEventArgs(p_plgConflictedPlugin, p_plgConflictingPlugin, p_uintFormId, p_criInfo); ConflictDetected(this, cdaArgs); } }
/// <summary> /// Loads the critical record data from the well-known record. /// </summary> protected void loadCriticalData() { var srcCriticalData = getCriticalRecordData(); var strCriticalData = srcCriticalData.GetStrData().Trim().Replace("\r\n", "\n").Replace("\n\r", "\n"); var strCriticalRecords = strCriticalData.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var strCriticalRecord in strCriticalRecords) { UInt32 uintFormId; if ( !UInt32.TryParse(strCriticalRecord.Substring(0, 8), NumberStyles.HexNumber, null, out uintFormId)) { continue; } var criInfo = new CriticalRecordInfo(); criInfo.Severity = (CriticalRecordInfo.ConflictSeverity) Int32.Parse(strCriticalRecord[9].ToString(), NumberStyles.HexNumber); criInfo.Reason = strCriticalRecord.Substring(11); m_dicCriticalRecords[uintFormId] = criInfo; } }
/// <summary> /// Marks a record as critical, supplying a reason to the critical marking. /// </summary> /// <param name="p_uintFormId">The form id that is being marked as critical.</param> /// <param name="p_csvSeverity">The severity of the conflict.</param> /// <param name="p_strReason">The reason the record is being marked as critical.</param> public void SetCriticalRecord(UInt32 p_uintFormId, CriticalRecordInfo.ConflictSeverity p_csvSeverity, string p_strReason) { m_dicCriticalRecords[p_uintFormId] = new CriticalRecordInfo(p_csvSeverity, p_strReason); }
/// <summary> /// Loads the critical record data from the well-known record. /// </summary> protected void loadCriticalData() { SubRecord srcCriticalData = getCriticalRecordData(); string strCriticalData = srcCriticalData.GetStrData().Trim().Replace("\r\n", "\n").Replace("\n\r", "\n"); string[] strCriticalRecords = strCriticalData.Split(new char[] {'\n'}, StringSplitOptions.RemoveEmptyEntries); UInt32 uintFormId = 0; CriticalRecordInfo criInfo = null; foreach (string strCriticalRecord in strCriticalRecords) { if (!UInt32.TryParse(strCriticalRecord.Substring(0, 8), System.Globalization.NumberStyles.HexNumber, null, out uintFormId)) continue; criInfo = new CriticalRecordInfo(); criInfo.Severity = (CriticalRecordInfo.ConflictSeverity)Int32.Parse(strCriticalRecord[9].ToString(), System.Globalization.NumberStyles.HexNumber); criInfo.Reason = strCriticalRecord.Substring(11); m_dicCriticalRecords[uintFormId] = criInfo; } }
/// <summary> /// Marks a record as critical, supplying a reason to the critical marking. /// </summary> /// <param name="p_uintFormId">The form id that is being marked as critical.</param> /// <param name="p_csvSeverity">The severity of the conflict.</param> /// <param name="p_strReason">The reason the record is being marked as critical.</param> public void SetCriticalRecord(UInt32 p_uintFormId, CriticalRecordInfo.ConflictSeverity p_csvSeverity, string p_strReason) { m_dicCriticalRecords[p_uintFormId] = new CriticalRecordInfo(p_csvSeverity, p_strReason); }
/// <summary> /// Raises the <see cref="ConflictDetected" /> event. /// </summary> /// <param name="p_plgConflictedPlugin">The plugin that is conflicted.</param> /// <param name="p_plgConflictingPlugin">The plugin that is conflicting.</param> /// <param name="p_uintFormId">The form id that is overridden.</param> /// <param name="p_criInfo">The <see cref="CriticalRecordInfo" /> describing the conflict.</param> protected void OnConflictDetected(Plugin p_plgConflictedPlugin, Plugin p_plgConflictingPlugin, UInt32 p_uintFormId, CriticalRecordInfo p_criInfo) { if (ConflictDetected != null) { var cdaArgs = new ConflictDetectedEventArgs(p_plgConflictedPlugin, p_plgConflictingPlugin, p_uintFormId, p_criInfo); ConflictDetected(this, cdaArgs); } }