Table of Contents

Interface IAppDaemonHostFactory

Namespace
VpnHood.AppUi.Hosting.Desktop.Daemon.Platform
Assembly
VpnHood.AppUi.Hosting.Desktop.Daemon.dll

Defines how a platform builds the app for the two commands that hold it: daemon, the service, and dev, a debugger's run with the window in one process.

public interface IAppDaemonHostFactory

Methods

CreateDev(string)

Creates a debugger's app, in the storage it is handed, as whoever runs it.

IAppDaemonHost CreateDev(string storagePath)

Parameters

storagePath string

The app's storage.

Returns

IAppDaemonHost

The app.

Remarks

It throws what the app's start throws, as below; an ad provider that names countries both to include and to exclude fails it with an Exception.

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.

FormatException

A built-in access key is no valid Base64, or an endpoint or a duration in it is not valid.

Win32Exception

On Windows, the job the VPN host runs in could not be made.

AnotherInstanceIsRunningException

Another instance of the app holds the lock.

InvalidOperationException

The app has started already, or the app's start found what it needs missing.

CreateService()

Creates the service's app, in its own storage.

IAppDaemonHost CreateService()

Returns

IAppDaemonHost

The app.

Remarks

It throws what the app's start throws, as below; an ad provider that names countries both to include and to exclude fails it with an Exception.

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.

FormatException

A built-in access key is no valid Base64, or an endpoint or a duration in it is not valid.

Win32Exception

On Windows, the service's lock or the job the VPN host runs in could not be made.

AnotherInstanceIsRunningException

Another instance of the app holds the lock.

InvalidOperationException

This process may not be the service, the app has started already, or the app's start found what it needs missing, as a folder the platform cannot name.