UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

71 lines (69 loc) 2.56 kB
/*--------------------------------------------------------------------------------------------- * 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 { IConfigurationService } from '../../configuration/common/configuration.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IAddressProvider, ISocketFactory } from '../../remote/common/remoteAgentConnection.mjs'; import { AbstractTunnelService, ISharedTunnelsService as ISharedTunnelsService, RemoteTunnel, } from '../common/tunnel.mjs'; import { ISignService } from '../../sign/common/sign.mjs'; export declare class BaseTunnelService extends AbstractTunnelService { private readonly socketFactory; private readonly signService; private readonly productService; constructor( socketFactory: ISocketFactory, logService: ILogService, signService: ISignService, productService: IProductService, configurationService: IConfigurationService, ); isPortPrivileged(port: number): boolean; protected retainOrCreateTunnel( addressProvider: IAddressProvider, remoteHost: string, remotePort: number, localPort: number | undefined, elevateIfNeeded: boolean, privacy?: string, protocol?: string, ): Promise<RemoteTunnel | undefined> | undefined; } export declare class TunnelService extends BaseTunnelService { constructor( logService: ILogService, signService: ISignService, productService: IProductService, configurationService: IConfigurationService, ); } export declare class SharedTunnelsService extends Disposable implements ISharedTunnelsService { protected readonly logService: ILogService; private readonly productService; private readonly signService; private readonly configurationService; readonly _serviceBrand: undefined; private readonly _tunnelServices; constructor( logService: ILogService, productService: IProductService, signService: ISignService, configurationService: IConfigurationService, ); openTunnel( authority: string, addressProvider: IAddressProvider | undefined, remoteHost: string | undefined, remotePort: number, localPort?: number, elevateIfNeeded?: boolean, privacy?: string, protocol?: string, ): Promise<RemoteTunnel | undefined>; }