UNPKG

@steambrew/client

Version:
132 lines (115 loc) 3.91 kB
import { Unregisterable } from './shared'; import { EAppUpdateError } from './App'; /** * Represents functions related to managing installs and installation wizards in Steam. */ export interface Installs { /** * Cancels the installation wizard if it is open. */ CancelInstall(): void; /** * Continues and starts the installation if the wizard is still open. */ ContinueInstall(): void; /** * Retrieves information from the last opened or currently opened installation wizard. */ GetInstallManagerInfo(): Promise<InstallMgrInfo>; /** * Opens the restore from backup installer wizard for a specific app. * @param appBackupPath The backup path of the app. */ OpenInstallBackup(appBackupPath: string): void; /** * Opens the installation wizard for specified app IDs. * @param appIds An array of app IDs to install. */ OpenInstallWizard(appIds: number[]): void; /** * Opens the uninstall wizard for specified app IDs. * @param appIds An array of app IDs to uninstall. * @param dontPrompt Whether to *not* prompt the user to uninstall. */ OpenUninstallWizard(appIds: number[], dontPrompt: boolean): void; RegisterForShowConfirmUninstall: Unregisterable; // Broken? doesn't seem to work /** * Registers a callback function to be called when the "Failed Uninstall" dialog is shown. * @param callback The callback function to be called when the dialog is shown. * @returns an object that can be used to unregister the callback. */ RegisterForShowFailedUninstall(callback: (appId: number, reason: EAppUpdateError) => void): Unregisterable; /** * Registers a callback function to be called when the installation wizard is shown. * @param callback The callback function to be called. * @returns an object that can be used to unregister the callback. */ RegisterForShowInstallWizard(callback: (data: InstallMgrInfo) => void): Unregisterable; RegisterForShowRegisterCDKey: any; /** * Sets a list of app identifiers for downloads in the installation wizard. * @param appIds An array of app IDs to set. * @remarks The wizard will not reflect this change immediately, but changing another option will. */ SetAppList(appIds: number[]): void; /** * Sets the options for creating shortcuts in the installation wizard. * @param bDesktopShortcut Whether to create a desktop shortcut. * @param bSystemMenuShortcut Whether to create a system menu shortcut. * @remarks The wizard will not reflect this change immediately, but changing another option will. */ SetCreateShortcuts(bDesktopShortcut: boolean, bSystemMenuShortcut: boolean): void; /** * Sets the install folder for the installation wizard using an install folder index. * @param folderIndex The index of the install folder. * @remarks The wizard will not reflect this change immediately, but changing another option will. */ SetInstallFolder(folderIndex: number): void; } export interface InstallMgrInfo { rgAppIDs: InstallInfoApps[]; eInstallState: EInstallMgrState; nDiskSpaceRequired: number; nDiskSpaceAvailable: number; nCurrentDisk: number; nTotalDisks: number; bCanChangeInstallFolder: boolean; /** * Index of the install folder. -1 if not installed. */ iInstallFolder: number; iUnmountedFolder: number; currentAppID: number; eAppError: EAppUpdateError; errorDetail: string; bSystemMenuShortcut: boolean; bDesktopShortcut: boolean; bIsBackupInstall: boolean; // device/hostname strPeerContentServer: string; bPeerContentServerOnline: boolean; bPeerContentServerAvailable: boolean; } export interface InstallInfoApps { nAppID: number; lDiskSpaceRequiredBytes: number; } export enum EInstallMgrState { None, Setup, WaitLicense, FreeLicense, ShowCDKey, WaitAppInfo, ShowPassword, ShowConfig, ShowEULAs, CreateApps, ReadFromMedia, ShowChangeMedia, WaitLegacyCDKeys, ShowSignup, Complete, Failed, Canceled, }