mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-18 15:55:59 +01:00
Surface power API
This commit is contained in:
@@ -115,6 +115,7 @@ import { ExtHostWebviews } from './extHostWebview.js';
|
||||
import { ExtHostWebviewPanels } from './extHostWebviewPanels.js';
|
||||
import { ExtHostWebviewViews } from './extHostWebviewView.js';
|
||||
import { IExtHostWindow } from './extHostWindow.js';
|
||||
import { IExtHostPower } from './extHostPower.js';
|
||||
import { IExtHostWorkspace } from './extHostWorkspace.js';
|
||||
import { ExtHostChatContext } from './extHostChatContext.js';
|
||||
|
||||
@@ -149,6 +150,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
const extHostTunnelService = accessor.get(IExtHostTunnelService);
|
||||
const extHostApiDeprecation = accessor.get(IExtHostApiDeprecationService);
|
||||
const extHostWindow = accessor.get(IExtHostWindow);
|
||||
const extHostPower = accessor.get(IExtHostPower);
|
||||
const extHostUrls = accessor.get(IExtHostUrlsService);
|
||||
const extHostSecretState = accessor.get(IExtHostSecretState);
|
||||
const extHostEditorTabs = accessor.get(IExtHostEditorTabs);
|
||||
@@ -169,6 +171,7 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
rpcProtocol.set(ExtHostContext.ExtHostStorage, extHostStorage);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostTunnelService, extHostTunnelService);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostWindow, extHostWindow);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostPower, extHostPower);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostUrls, extHostUrls);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostSecretState, extHostSecretState);
|
||||
rpcProtocol.set(ExtHostContext.ExtHostTelemetry, extHostTelemetry);
|
||||
@@ -480,6 +483,59 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
|
||||
getDataChannel<T>(channelId: string): vscode.DataChannel<T> {
|
||||
checkProposedApiEnabled(extension, 'dataChannels');
|
||||
return extHostDataChannels.createDataChannel(extension, channelId);
|
||||
},
|
||||
get power(): typeof vscode.env.power {
|
||||
checkProposedApiEnabled(extension, 'environmentPower');
|
||||
return {
|
||||
get onDidSuspend() {
|
||||
return _asExtensionEvent(extHostPower.onDidSuspend);
|
||||
},
|
||||
get onDidResume() {
|
||||
return _asExtensionEvent(extHostPower.onDidResume);
|
||||
},
|
||||
get onDidChangeOnBatteryPower() {
|
||||
return _asExtensionEvent(extHostPower.onDidChangeOnBatteryPower);
|
||||
},
|
||||
get onDidChangeThermalState() {
|
||||
return _asExtensionEvent(extHostPower.onDidChangeThermalState);
|
||||
},
|
||||
get onDidChangeSpeedLimit() {
|
||||
return _asExtensionEvent(extHostPower.onDidChangeSpeedLimit);
|
||||
},
|
||||
get onWillShutdown() {
|
||||
return _asExtensionEvent(extHostPower.onWillShutdown);
|
||||
},
|
||||
get onDidLockScreen() {
|
||||
return _asExtensionEvent(extHostPower.onDidLockScreen);
|
||||
},
|
||||
get onDidUnlockScreen() {
|
||||
return _asExtensionEvent(extHostPower.onDidUnlockScreen);
|
||||
},
|
||||
getSystemIdleState(idleThresholdSeconds: number) {
|
||||
return extHostPower.getSystemIdleState(idleThresholdSeconds);
|
||||
},
|
||||
getSystemIdleTime() {
|
||||
return extHostPower.getSystemIdleTime();
|
||||
},
|
||||
getCurrentThermalState() {
|
||||
return extHostPower.getCurrentThermalState();
|
||||
},
|
||||
isOnBatteryPower() {
|
||||
return extHostPower.isOnBatteryPower();
|
||||
},
|
||||
async startPowerSaveBlocker(type: vscode.env.power.PowerSaveBlockerType): Promise<vscode.env.power.PowerSaveBlocker> {
|
||||
const blocker = await extHostPower.startPowerSaveBlocker(type);
|
||||
return {
|
||||
id: blocker.id,
|
||||
get isStarted() {
|
||||
return blocker.isStarted;
|
||||
},
|
||||
dispose() {
|
||||
blocker.dispose();
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
if (!initData.environment.extensionTestsLocationURI) {
|
||||
|
||||
Reference in New Issue
Block a user