@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
51 lines (49 loc) • 2.3 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { URI } from '@sussudio/base/common/uri.mjs';
import { IConfigurationService } from '../../configuration/common/configuration.mjs';
import { INativeEnvironmentService } from '../../environment/common/environment.mjs';
import { ExtensionVerificationStatus } from '../common/abstractExtensionManagementService.mjs';
import { IExtensionGalleryService, IGalleryExtension, InstallOperation } from '../common/extensionManagement.mjs';
import { IExtensionSignatureVerificationService } from './extensionSignatureVerificationService.mjs';
import { IFileService } from '../../files/common/files.mjs';
import { ILogService } from '../../log/common/log.mjs';
import { IProductService } from '../../product/common/productService.mjs';
export declare class ExtensionsDownloader extends Disposable {
private readonly fileService;
private readonly extensionGalleryService;
private readonly configurationService;
private readonly productService;
private readonly extensionSignatureVerificationService;
private readonly logService;
private static readonly SignatureArchiveExtension;
readonly extensionsDownloadDir: URI;
private readonly cache;
private readonly cleanUpPromise;
constructor(
environmentService: INativeEnvironmentService,
fileService: IFileService,
extensionGalleryService: IExtensionGalleryService,
configurationService: IConfigurationService,
productService: IProductService,
extensionSignatureVerificationService: IExtensionSignatureVerificationService,
logService: ILogService,
);
download(
extension: IGalleryExtension,
operation: InstallOperation,
): Promise<{
readonly location: URI;
readonly verificationStatus: ExtensionVerificationStatus;
}>;
private shouldVerifySignature;
private downloadSignatureArchive;
private downloadFile;
delete(location: URI): Promise<void>;
private rename;
private cleanUp;
private getName;
}