FromNative() public method

Get the step from the native form
public FromNative ( string pattern, char stringSeparators ) : bool
pattern string
stringSeparators char
return bool
Ejemplo n.º 1
0
        private bool HandleStep(string line)
        {
            string[] components = line.Split(splitChars, StringSplitOptions.RemoveEmptyEntries);

            if(components.Length < 3) {
                Debug.ReportWarning("Invalid step. Step data: {0}", line);
                return false;
            }

            // get the number
            int number;
            int type;

            if(int.TryParse(components[1], out number) == false) {
                Debug.ReportWarning("Invalid step number. Number field: {0}", components[1]);
                return false;
            }

            // validate the number
            if(number < 0 || number >= stepNumber) {
                Debug.ReportWarning("Invalid step number. Number: {0}, Max. step: {1}", number, stepNumber);
                return false;
            }

            if(int.TryParse(components[2], out type) == false) {
                Debug.ReportWarning("Invalid step Type. Type field: {0}", components[2]);
                return false;
            }

            switch(type) {
            case 0: {
                    PatternWipeStep step = new PatternWipeStep(number);

                    if(step.FromNative(line, splitChars) == true) {
                        wipeSteps.Add(step);
                    }

                    break;
                }
                case 1: {
                    wipeSteps.Add(new RandomWipeStep(number));
                    break;
                }
                case 2: {
                    wipeSteps.Add(new RandomByteStep(number));
                    break;
                }
                case 3: {
                    wipeSteps.Add(new ComplementStep(number));
                    break;
                }
                default: {
                    Debug.ReportWarning("Invalid step Type. Type: {0}", type);
                    return false;
                }
            }

            return true;
        }