Interface IInProcessDesktopPlatform
Defines what a host without a service says for itself (InProcessDesktopHost): where the window keeps things, how the system tells who owns the far end of a loopback connection, the process's log, and the app, which runs in the window's process.
public interface IInProcessDesktopPlatform
Properties
DesktopSession
Gets the desktop session this launch runs in, as the window's single instance asks it.
IDesktopSession DesktopSession { get; }
Property Value
Paths
Gets where the window keeps things.
IDesktopUiPaths Paths { get; }
Property Value
PeerCheck
Gets how the system tells who owns the far end of a loopback connection.
ILoopbackPeerCheck PeerCheck { get; }
Property Value
Shell
Gets the system's ways for links and the clipboard where the UI's own are refused, or null for the UI's own.
IDesktopShell? Shell { get; }
Property Value
UseTray
Gets a value indicating whether the window may keep a tray icon.
bool UseTray { get; }
Property Value
Methods
CreateApp()
Creates the app, once this launch holds the window, so a second launch builds none.
IAppDaemonHost CreateApp()
Returns
- IAppDaemonHost
The app; disposing it ends the app.
Remarks
It throws what the app's start throws; the Windows plug-in's, for one, throws the exceptions below, and fails with an Exception where an ad provider names countries both to include and to exclude.
Exceptions
- OverflowException
A duration in a built-in access key is out of range.
- InvalidDataException
A built-in access key decodes to JSON
null.- JsonException
A built-in access key holds no valid access key.
- NotSupportedException
A built-in access key's version is not one the app reads.
- ArgumentNullException
The init params name no app name.
- FormatException
A built-in access key is no valid Base64, or an endpoint or a duration in it is not valid.
- ArgumentException
The init params' app name is empty.
- InvalidOperationException
The process does not run from its package, or the core app has started already.
- AnotherInstanceIsRunningException
Another instance of the app holds the lock.
CreateLoggerProvider()
Creates the process's log, once this launch holds the window, so a second launch, which only brings that window forward, leaves its file alone.
ILoggerProvider CreateLoggerProvider()
Returns
- ILoggerProvider
The log's provider.
Exceptions
- InvalidOperationException
The platform cannot name the folder, as the Windows plug-in's outside its package.