@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
71 lines (69 loc) • 2.56 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 { 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>;
}