Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
 private void cbInclude_SelectedIndexChanged(object sender, EventArgs e)
 {
     include = (FilterInclude)cbInclude.SelectedIndex;
     UpdateControls();
 }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
 private void cbInclude_SelectedIndexChanged(object sender, EventArgs e)
 {
     include = (FilterInclude)cbInclude.SelectedIndex;
     UpdateControls();
 }