2026-03-20 00:41:14 +08:00
|
|
|
using System;
|
|
|
|
|
using Avalonia;
|
|
|
|
|
|
|
|
|
|
namespace LanMountainDesktop.DesktopHost;
|
|
|
|
|
|
|
|
|
|
public static class DesktopBootstrap
|
|
|
|
|
{
|
2026-03-21 16:16:02 +08:00
|
|
|
public static void InitializeStartupServices(
|
|
|
|
|
Action initializeTelemetryIdentity,
|
|
|
|
|
Action initializeCrashTelemetry,
|
|
|
|
|
Action initializeUsageTelemetry,
|
|
|
|
|
Action scheduleStartupCleanup)
|
2026-03-20 00:41:14 +08:00
|
|
|
{
|
2026-03-21 16:16:02 +08:00
|
|
|
ArgumentNullException.ThrowIfNull(initializeTelemetryIdentity);
|
|
|
|
|
ArgumentNullException.ThrowIfNull(initializeCrashTelemetry);
|
|
|
|
|
ArgumentNullException.ThrowIfNull(initializeUsageTelemetry);
|
2026-03-20 00:41:14 +08:00
|
|
|
ArgumentNullException.ThrowIfNull(scheduleStartupCleanup);
|
|
|
|
|
|
2026-03-21 16:16:02 +08:00
|
|
|
initializeTelemetryIdentity();
|
|
|
|
|
initializeCrashTelemetry();
|
|
|
|
|
initializeUsageTelemetry();
|
2026-03-20 00:41:14 +08:00
|
|
|
scheduleStartupCleanup();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void InitializeApplication(Application application, Action initializeShell)
|
|
|
|
|
{
|
|
|
|
|
ArgumentNullException.ThrowIfNull(application);
|
|
|
|
|
ArgumentNullException.ThrowIfNull(initializeShell);
|
|
|
|
|
initializeShell();
|
|
|
|
|
}
|
|
|
|
|
}
|