sussudio
Version:
An unofficial VS Code Internal API
33 lines (32 loc) • 2.52 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 "../../../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>;
}