DesktopHostOptions record

Namespace Runic.Desktop · Runic.Desktop 0.7.0-preview.5

public sealed record DesktopHostOptions : IEquatable<DesktopHostOptions>

Inherits or implements IEquatable.

Configures a Desktop host before its listener starts.

Constructors

DesktopHostOptions

public DesktopHostOptions()

No documentation.

Properties

BrowserFolder

public string? BrowserFolder { get; init; }

Gets an optional folder searched before system browser locations.

BrowserLaunchAttempts

public int BrowserLaunchAttempts { get; init; }

Gets how many times a browser presentation is launched when the browser starts but requests nothing.

Remarks

Each attempt waits the whole DesktopHostOptions.ConnectionTimeout. A browser that is still running but has not requested its page by then is stopped and launched again, with a fresh profile unless the window configures one, and a browser-launch-stalled diagnostic is reported. A page that was requested, a browser that exited and embedded WebViews are never relaunched. Defaults to 2; 1 disables relaunching. Values outside 1 to 5 make building the host throw ArgumentOutOfRangeException.

ConfigureServices

public Action<IServiceCollection>? ConfigureServices { get; init; }

Gets an optional service-registration callback run once while the host is built.

ConnectionTimeout

public TimeSpan ConnectionTimeout { get; init; }

Gets the bridge authentication deadline.

DiagnosticSink

public Action<DesktopDiagnostic>? DiagnosticSink { get; init; }

Gets an optional sink for redacted host diagnostics.

Linux

public LinuxDesktopOptions Linux { get; init; }

Gets explicit Linux embedded-backend selection.

LoggerFactory

public ILoggerFactory? LoggerFactory { get; init; }

Gets an optional logger factory for window failures, such as a failed close confirmation. When omitted, they are written to Trace.

NetworkExposure

public DesktopNetworkExposure NetworkExposure { get; init; }

Gets the listener exposure policy.

Port

public int Port { get; init; }

Gets the TCP port, where zero selects an ephemeral port.

Security

public DesktopSecurityPolicy Security { get; init; }

Gets the default security policy copied by newly created surfaces.

Remarks

DesktopNetworkExposure.AllInterfaces requires assigning this property explicitly.

WaitForConnection

public bool WaitForConnection { get; init; }

Gets whether opening a window waits for bridge authentication.

WindowHostFactory

public IDesktopWindowHostFactory? WindowHostFactory { get; init; }

Gets the embedded-window factory, or the platform default when omitted.