using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace LanMountainDesktop.AirAppSdk; /// /// Core interface for the AirApp entry point. /// Implement this interface (or derive from ) and mark the class /// with to expose a desktop component or window /// AirApp to the LanMountainDesktop host. /// public interface IAirApp { /// /// Initialize the AirApp and register services. /// Called during host startup before the application is fully running. /// /// Host builder context /// Service collection for dependency injection void Initialize(HostBuilderContext context, IServiceCollection services); /// /// Called after the host application has started. /// Use this for initialization that requires runtime services. /// /// AirApp runtime context Task OnStartedAsync(IAirAppRuntimeContext context); /// /// Called when the host application is stopping. /// Use this for cleanup and resource disposal. /// Task OnStoppingAsync(); }