Example #1
0
        public void RemoveParameter(StartupParameter param)
        {
            if (!Parameters.Contains(param))
            {
                throw new ArgumentException("collection does not contain this parameter", nameof(param));
            }

            Parameters.Remove(param);
        }
Example #2
0
        internal async void RunParameter(StartupParameter param)
        {
            if (!File.Exists(param.FullPath))
            {
                throw new ArgumentException("so such file - " + param.FullPath, nameof(param));
            }

            var info = GetInfo(param.FullPath, param.Arguments);

            var runner = GetRunner(param);

            await runner.Run(info, _tokenSource.Token);
        }
Example #3
0
        private IRunner GetRunner(StartupParameter param)
        {
            switch (param.Method)
            {
            case StartupMethod.Exit:
                return(new ExitRunner(param.Timeout));

            case StartupMethod.Maximised:
                return(new MaximisedRunner());

            default:
                throw new NotSupportedException();
            }
        }