Example #1
0
        private IDataFrameFilter CreateFilter()
        {
            SetDataFrameFilterFactory factory;

            FilterMode mode = (FilterMode)comboBoxMode.SelectedItem;

            if (mode == FilterMode.Binary)
            {
                factory = new BinaryDataFrameFilterFactory()
                {
                    Match = GeneralUtils.HexToBinary(textBoxValue.Text)
                };
            }
            else if (mode == FilterMode.Regex)
            {
                factory = new RegexDataFrameFilterFactory()
                {
                    CaseSensitive  = checkBoxCaseSensitive.Checked,
                    Match          = textBoxValue.Text,
                    StringEncoding = (StringDataFrameFilterFactory.FilterStringEncoding)comboBoxEncoding.SelectedItem
                };
            }
            else if (mode == FilterMode.String)
            {
                factory = new StringDataFrameFilterFactory()
                {
                    CaseSensitive  = checkBoxCaseSensitive.Checked,
                    Match          = textBoxValue.Text,
                    StringEncoding = (StringDataFrameFilterFactory.FilterStringEncoding)comboBoxEncoding.SelectedItem
                };
            }
            else
            {
                throw new ArgumentException(CANAPE.Properties.Resources.FindPacketForm_SelectMode);
            }

            factory.Path       = textBoxPath.Text;
            factory.SearchMode = DataFrameFilterSearchMode.Contains;

            return(factory.CreateFilter());
        }
        private static DataFrameFilterFactory GetFilterForValue(DataValue value)
        {
            SetDataFrameFilterFactory ret;

            if (value.Value is byte[])
            {
                ret = new BinaryDataFrameFilterFactory()
                {
                    Match = value.Value as byte[]
                };
            }
            else
            {
                ret = new StringDataFrameFilterFactory()
                {
                    Match = value.Value.ToString()
                };
            }

            ret.Path       = value.Path;
            ret.SearchMode = DataFrameFilterSearchMode.Equals;

            return(ret);
        }