Files
OmniNX-Installer-Payload/desktop/OmniNX.DesktopInstaller/Models/InstallModels.cs
T
niklascfw d573f6cca4 Add a Windows desktop installer for PC-based OmniNX installs.
This lets mass deployments and modchip setups apply the same install/update flow from a PC, with generated deletion lists kept in sync with the payload headers.
2026-09-13 21:10:58 +02:00

55 lines
1.3 KiB
C#

namespace OmniNX.DesktopInstaller.Models;
public enum OmniNxVariant
{
None = 0,
Light,
Standard,
Oc,
}
public enum InstallMode
{
Clean,
Update,
}
public sealed class InstallOptions
{
public required string DriveRoot { get; init; }
public required OmniNxVariant Variant { get; init; }
public InstallMode Mode { get; init; }
public bool Use8GbRam { get; init; }
public bool UseHekateAmsPro { get; init; }
public bool ForceCleanInstall { get; init; }
public string? StagingPath { get; init; }
}
public sealed class OmniNxStatus
{
public bool IsInstalled { get; init; }
public OmniNxVariant Variant { get; init; }
public string Version { get; init; } = string.Empty;
}
public sealed class ReleaseInfo
{
public required string TagName { get; init; }
public required string Name { get; init; }
public required IReadOnlyList<ReleaseAsset> Assets { get; init; }
}
public sealed class ReleaseAsset
{
public required string Name { get; init; }
public required string DownloadUrl { get; init; }
public long Size { get; init; }
}
public sealed class InstallProgressReport
{
public required string Message { get; init; }
public int? Percent { get; init; }
public bool IsError { get; init; }
}