/// <summary> /// 출력 가능 속성 여부 판단 /// </summary> /// <param name="attribute">속성</param> /// <returns>결과 - True / False</returns> public bool IsAllowAttribute(string attribute) { string str = attribute.ToUpper(); // 제외 항목 검사 if (FilterExclude.ContainsKey(str) == true) { return(false); } // 포함 항목 검사 if (FilterInclude.ContainsKey(str) == true) { return(true); } // 포함항목이 하나도 없는 경우 무조건 등록 if (FilterInclude.Keys.Count == 0) { return(true); } else // 포함항목이 하나라도 있는 경우라면 제외 { return(false); } }
private bool DoesTracePassFilters(FilterTrace filterTrace, FilterInclude include) { List<FilterMatch> filters; if (include == FilterInclude.Include) filters = filterControl.IncludeFilters; else filters = filterControl.ExcludeFilters; if (filters.Count == 0) return true; bool check = true; foreach (FilterMatch filter in filters) { switch (filter.FilterType) { case FilterType.Length: switch (filter.LengthMatch) { case LengthMatch.GreaterThen: check = filterTrace.Buffer.Length > filter.Length; break; case LengthMatch.LessThen: check = filterTrace.Buffer.Length < filter.Length; break; case LengthMatch.EqualTo: check = filterTrace.Buffer.Length == filter.Length; break; } break; case FilterType.Hex: check = filterTrace.BufToHex().Contains(filter.Filter); break; case FilterType.Ascii: check = filterTrace.BufToChars().Contains(filter.Filter); break; } if (include == FilterInclude.Include) { if (check) return true; else continue; } else { if (check) return false; else continue; } } if (include == FilterInclude.Include) return false; else return true; }
private void cbInclude_SelectedIndexChanged(object sender, EventArgs e) { include = (FilterInclude)cbInclude.SelectedIndex; UpdateControls(); }
private bool DoesTracePassFilters(FilterTrace filterTrace, FilterInclude include) { List <FilterMatch> filters; if (include == FilterInclude.Include) { filters = filterControl.IncludeFilters; } else { filters = filterControl.ExcludeFilters; } if (filters.Count == 0) { return(true); } bool check = true; foreach (FilterMatch filter in filters) { switch (filter.FilterType) { case FilterType.Length: switch (filter.LengthMatch) { case LengthMatch.GreaterThen: check = filterTrace.Buffer.Length > filter.Length; break; case LengthMatch.LessThen: check = filterTrace.Buffer.Length < filter.Length; break; case LengthMatch.EqualTo: check = filterTrace.Buffer.Length == filter.Length; break; } break; case FilterType.Hex: check = filterTrace.BufToHex().Contains(filter.Filter); break; case FilterType.Ascii: check = filterTrace.BufToChars().Contains(filter.Filter); break; } if (include == FilterInclude.Include) { if (check) { return(true); } else { continue; } } else { if (check) { return(false); } else { continue; } } } if (include == FilterInclude.Include) { return(false); } else { return(true); } }