protected HandlerBase(ParsedInfo parsedInfo) { stopIndex = parsedInfo.stopIndex; InitStartInfo(parsedInfo); for (int i = 0; i < parsedInfo.stopIndex; i++) { HandleArgument(i, parsedInfo.matches[i]); } FinalizeStartInfo(parsedInfo.args); }
private static void Main(string[] args) { try { PluginLoader.LoadPlugins(); var handler = new ParsedInfo(args).GetHandler(); Environment.Exit(handler.Launch()); } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); Environment.Exit(1); } }
protected SelfRelaunchHandler(ParsedInfo info) : base(info) { }
protected override void InitStartInfo(ParsedInfo info) { startInfo.FileName = EnvironmentHelper.ExecPath; startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.CreateNoWindow = true; }
public ExecHandler(ParsedInfo info) : base(info) { }
protected override void InitStartInfo(ParsedInfo info) { startInfo.FileName = info.args[info.stopIndex]; startInfo.UseShellExecute = false; }
protected ResolveEnvHandler(ParsedInfo info) : base(info) { }
protected ProcessStartHandler(ParsedInfo info) : base(info) { }
public LoginHandler(ParsedInfo info) : base(info) { }
protected override void InitStartInfo(ParsedInfo info) { base.InitStartInfo(info); startInfo.UseShellExecute = false; }
protected abstract void InitStartInfo(ParsedInfo info);