mirror of
https://github.com/Maassoft/ColorControl.git
synced 2026-10-22 00:22:18 -05:00
123 lines
4.9 KiB
C#
123 lines
4.9 KiB
C#
namespace ColorControl.Shared.Contracts
|
|
{
|
|
public class StartUpParams
|
|
{
|
|
public const string RunningFromScheduledTaskParam = "--scheduled";
|
|
public const string ExecuteHelpParam = "--help";
|
|
public const string ExecuteNvidiaPresetParam = "--nvpreset";
|
|
public const string ExecuteAmdPresetParam = "--amdpreset";
|
|
public const string ExecuteLgPresetParam = "--lgpreset";
|
|
public const string ExecuteSamsungPresetParam = "--sampreset";
|
|
public const string NoDeviceRefreshParam = "--no-refresh";
|
|
public const string NoGuiParam = "--nogui";
|
|
public const string StartElevatedParam = "--elevated";
|
|
|
|
public bool RunningFromScheduledTask { get; private set; }
|
|
public bool ExecuteHelp { get; private set; }
|
|
public bool ExecuteNvidiaPreset { get; private set; }
|
|
public string NvidiaPresetIdOrName { get; private set; }
|
|
public bool ExecuteAmdPreset { get; private set; }
|
|
public string AmdPresetIdOrName { get; private set; }
|
|
public bool ExecuteLgPreset { get; private set; }
|
|
public string LgPresetName { get; private set; }
|
|
public bool ExecuteSamsungPreset { get; private set; }
|
|
public string SamsungPresetName { get; private set; }
|
|
public bool NoDeviceRefresh { get; private set; }
|
|
public bool NoGui { get; set; }
|
|
public bool StartElevated { get; private set; }
|
|
|
|
public static StartUpParams Parse(IEnumerable<string> args)
|
|
{
|
|
var settings = new StartUpParams();
|
|
var parseNameParam = string.Empty;
|
|
foreach (var arg in args)
|
|
{
|
|
if (!string.IsNullOrEmpty(parseNameParam))
|
|
{
|
|
switch (parseNameParam)
|
|
{
|
|
case ExecuteNvidiaPresetParam:
|
|
{
|
|
settings.NvidiaPresetIdOrName = arg;
|
|
break;
|
|
}
|
|
case ExecuteAmdPresetParam:
|
|
{
|
|
settings.AmdPresetIdOrName = arg;
|
|
break;
|
|
}
|
|
case ExecuteLgPresetParam:
|
|
{
|
|
settings.LgPresetName = arg;
|
|
break;
|
|
}
|
|
case ExecuteSamsungPresetParam:
|
|
{
|
|
settings.SamsungPresetName = arg;
|
|
break;
|
|
}
|
|
}
|
|
|
|
parseNameParam = string.Empty;
|
|
continue;
|
|
}
|
|
|
|
switch (arg.ToLowerInvariant())
|
|
{
|
|
case RunningFromScheduledTaskParam:
|
|
{
|
|
settings.RunningFromScheduledTask = true;
|
|
break;
|
|
}
|
|
case ExecuteHelpParam:
|
|
{
|
|
settings.ExecuteHelp = true;
|
|
settings.NoGui = true;
|
|
break;
|
|
}
|
|
case ExecuteNvidiaPresetParam:
|
|
{
|
|
settings.ExecuteNvidiaPreset = true;
|
|
parseNameParam = ExecuteNvidiaPresetParam;
|
|
break;
|
|
}
|
|
case ExecuteAmdPresetParam:
|
|
{
|
|
settings.ExecuteAmdPreset = true;
|
|
parseNameParam = ExecuteAmdPresetParam;
|
|
break;
|
|
}
|
|
case ExecuteLgPresetParam:
|
|
{
|
|
settings.ExecuteLgPreset = true;
|
|
parseNameParam = ExecuteLgPresetParam;
|
|
break;
|
|
}
|
|
case ExecuteSamsungPresetParam:
|
|
{
|
|
settings.ExecuteSamsungPreset = true;
|
|
parseNameParam = ExecuteSamsungPresetParam;
|
|
break;
|
|
}
|
|
case NoGuiParam:
|
|
{
|
|
settings.NoGui = true;
|
|
break;
|
|
}
|
|
case StartElevatedParam:
|
|
{
|
|
settings.StartElevated = true;
|
|
break;
|
|
}
|
|
case NoDeviceRefreshParam:
|
|
{
|
|
settings.NoDeviceRefresh = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return settings;
|
|
}
|
|
}
|
|
}
|