Table of Contents

Class AppOptionsContext

Namespace
VpnHood.AppLib.App
Assembly
VpnHood.AppLib.App.dll

Provides what the platform has settled by the time it calls the head's options factory (AppOptionsFactory), so every provider the head makes is made with it: an account provider, say, reads its saved session from the storage when it is made.

public class AppOptionsContext
Inheritance
AppOptionsContext
Inherited Members

Properties

AppId

Gets the app's ID on the device (AppId).

public required string AppId { get; init; }

Property Value

string

AppName

Gets the name people see (AppName).

public required string AppName { get; init; }

Property Value

string

AppVersion

Gets the app's version, as the head passed it (AppVersion), which the app shows and compares its updates with; the servers get the library's.

public required Version AppVersion { get; init; }

Property Value

Version

NoBackupStorage

Gets a storage over NoBackupStoragePath through StorageProvider, a new one at each read; a provider of the head that keeps a file the app cannot make again, such as the sign-in session, takes its folder from here.

public Storage NoBackupStorage { get; }

Property Value

Storage

NoBackupStoragePath

Gets the folder for what must not travel with a backup: the sign-in session, the log and the caches.

public required string NoBackupStoragePath { get; init; }

Property Value

string

Remarks

The platform chooses it: Android's no-backup folder; on iOS, a folder the app asks the system to leave out of backups, as far as it can; on a desktop, the storage folder itself.

PackagedAssetProvider

Gets the files the build's asset packages placed with the app, such as the IP-location database, the UI's store and the browser page, read the platform's way: from the folder beside the binary on a desktop and in an iOS bundle, from the APK's assets on Android.

public required IAssetProvider PackagedAssetProvider { get; init; }

Property Value

IAssetProvider

Storage

Gets a storage over StoragePath through StorageProvider, a new one at each read.

public Storage Storage { get; }

Property Value

Storage

StoragePath

Gets the folder that holds the settings and the VPN profiles, which travel with a backup.

public required string StoragePath { get; init; }

Property Value

string

StorageProvider

Gets where the files under the two folders that the app cannot make again are kept, such as the settings, the profiles with their keys, the install's ID and the sign-in session. The default is plain files.

public IStorageProvider StorageProvider { get; init; }

Property Value

IStorageProvider

Remarks

On an Apple TV, which empties every folder an app may write when the device runs low on storage, they are kept in the app's defaults. What can be fetched or made again stays in plain files everywhere.