PresentationFileLauncher class

Namespace Runic.Platform.Runtime · Runic.Platform.Runtime 0.7.0-preview.5

public sealed class PresentationFileLauncher : IDesktopFileLauncher, IPlatformCapabilities

Inherits or implements IDesktopFileLauncher, IPlatformCapabilities.

Drains file handoffs before the native presentation owner is destroyed.

Constructors

PresentationFileLauncher

public PresentationFileLauncher(PresentationLifetime lifetime, IDesktopFileLauncher? backend = null)

Drains file handoffs before the native presentation owner is destroyed.

Methods

GetSnapshot

public CapabilitySnapshot GetSnapshot()

Captures the current capability statuses.

Documentation from IPlatformCapabilities.GetSnapshot.

LaunchAsync

public ValueTask<PlatformResult<PlatformUnit>> LaunchAsync(string path, DesktopFileOperation operation = (DesktopFileOperation)0, CancellationToken cancellationToken = default)

The caller must retain any sandbox/security-scoped access until the operation completes.

Remarks

Success acknowledges native handling, not that another application opened the file. Windows Open With can report success even when dismissed; UserDismissed is returned only when the native API distinguishes dismissal. Windows and macOS Open returns PermissionDenied for programs, scripts, installers and shortcuts instead of running them; Linux applies the desktop portal's policy. Windows rejects UNC, device and alternate-stream paths.

Documentation from IDesktopFileLauncher.LaunchAsync.