Table of Contents

Namespace VpnHood.AppLib.App

Classes

AppInitParams

Provides what a head hands its platform's Init, the same on every platform: who the app is, where the platform keeps its files, and how to build its options once the platform has said where things are.

AppOptions

Provides the options a head builds the app with (Init(IDevice, AppOptions)): who the app is, what it offers, the providers it works through, and how it behaves.

AppOptionsContext

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.

AppRegionInfo

Provides the app's region, which picks the region's defaults, such as whether usage data waits for a yes first, and the ads' countries: the device's own (CurrentRegion) until it is set.

AppResources

Provides the app's own words, which the system shows for it, such as in a notification.

AppServices

Provides the app's services and the providers it works through (Services), which the app makes and sets once, at its start.

AppStorageMigration

Provides the one move of what must not travel with a backup, the sign-in session and the account's cache, the log, the unpacked UI and the temporary files, from the storage folder to the device-only one, which a platform makes before the head's providers read them.

ConnectOptions

Provides the options of a connect (Connect(IUiContext?, ConnectOptions?, CancellationToken)).

InstanceLockFile

Provides an app's single-instance lock as a file, in a folder its host names: one only root may write, as the Linux service's, or one the person owns.

KeyValueStorageProvider

Provides the app's files as entries of a key-value store the platform keeps where it keeps no files, such as tvOS's defaults: one entry per file, named by its path under a root folder.

VpnHoodApp

Represents the VPN app: its settings and VPN profiles, its connection through the device's VPN service, its account, ads and updates, and the API a UI reads it through (Api).