1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System.Drawing.Drawing2D;
- using SinMaiLauncher.ChildProcessHolder;
- namespace SinMaiLauncher.Models
- {
- public class InfraSettingReader
- {
- public readonly string BaseDir = Environment.CurrentDirectory;
- public readonly string InfraDir;
- public IProcessStartInfo Maria;
- public IProcessStartInfo AquaDx;
- public IProcessStartInfo Injector;
- public IProcessStartInfo SinMai;
- public InfraSettings Settings { get; }
- public InfraSettingReader(InfraSettings settings)
- {
- Settings = settings;
- InfraDir = Path.GetFullPath(Path.Combine(BaseDir, settings.InfraPath));
- var mariaDir = Path.GetFullPath(Path.Combine(InfraDir, settings.MariaDb.WorkingDir));
- var mariaExe = Path.GetFullPath(Path.Combine(mariaDir, settings.MariaDb.MySqlServerExe));
- var mariaArg = settings.MariaDb.MySqlServerArgs;
- Maria = new ProcessStartInfoImpl(mariaDir, mariaExe, mariaArg);
- var aquaDxDir = Path.GetFullPath(Path.Combine(InfraDir, settings.AquaDx.WorkingDir));
- var aquaDxJavaExe = Path.GetFullPath(Path.Combine(aquaDxDir, settings.AquaDx.JavaPath));
- var aquaDxJavaArg = settings.AquaDx.JavaArgs;
- AquaDx = new ProcessStartInfoImpl(aquaDxDir, aquaDxJavaExe, aquaDxJavaArg);
- var sinMaiDir = Path.GetFullPath(Path.Combine(InfraDir, settings.SinMai.WorkingDir));
- var injectorExe = Path.GetFullPath(Path.Combine(sinMaiDir, settings.SinMai.InjectExe));
- var injectorArg = settings.SinMai.InjectArgs;
- Injector = new ProcessStartInfoImpl(sinMaiDir, injectorExe, injectorArg);
- var sinMaiExe = Path.GetFullPath(Path.Combine(sinMaiDir, settings.SinMai.SinMaiExe));
- var sinMaiArg = settings.SinMai.SinMaiArgs;
- SinMai = new ProcessStartInfoImpl(sinMaiDir, sinMaiExe, sinMaiArg);
- }
- private class ProcessStartInfoImpl(string workingDir, string exe, string arg) : IProcessStartInfo
- {
- public string WorkingDir { get; } = workingDir;
- public string Exe { get; } = exe;
- public string Arg { get; } = arg;
- }
- }
- }
|