@theia/remote 1.45.1 → 1.46.0-next.72

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +61 -61
  2. package/lib/electron-browser/remote-electron-file-dialog-service.d.ts +13 -13
  3. package/lib/electron-browser/remote-electron-file-dialog-service.js +57 -57
  4. package/lib/electron-browser/remote-frontend-contribution.d.ts +25 -25
  5. package/lib/electron-browser/remote-frontend-contribution.js +164 -164
  6. package/lib/electron-browser/remote-frontend-module.d.ts +3 -3
  7. package/lib/electron-browser/remote-frontend-module.js +42 -42
  8. package/lib/electron-browser/remote-preferences.d.ts +10 -10
  9. package/lib/electron-browser/remote-preferences.js +48 -48
  10. package/lib/electron-browser/remote-registry-contribution.d.ts +18 -18
  11. package/lib/electron-browser/remote-registry-contribution.js +74 -74
  12. package/lib/electron-browser/remote-service.d.ts +5 -5
  13. package/lib/electron-browser/remote-service.js +37 -37
  14. package/lib/electron-browser/remote-ssh-contribution.d.ts +17 -17
  15. package/lib/electron-browser/remote-ssh-contribution.js +117 -117
  16. package/lib/electron-common/remote-ssh-connection-provider.d.ts +10 -10
  17. package/lib/electron-common/remote-ssh-connection-provider.js +20 -20
  18. package/lib/electron-common/remote-status-service.d.ts +14 -14
  19. package/lib/electron-common/remote-status-service.js +20 -20
  20. package/lib/electron-node/backend-remote-service-impl.d.ts +11 -11
  21. package/lib/electron-node/backend-remote-service-impl.js +50 -50
  22. package/lib/electron-node/remote-backend-module.d.ts +4 -4
  23. package/lib/electron-node/remote-backend-module.js +74 -74
  24. package/lib/electron-node/remote-connection-service.d.ts +14 -14
  25. package/lib/electron-node/remote-connection-service.js +65 -65
  26. package/lib/electron-node/remote-connection-socket-provider.d.ts +8 -8
  27. package/lib/electron-node/remote-connection-socket-provider.js +37 -37
  28. package/lib/electron-node/remote-proxy-server-provider.d.ts +5 -5
  29. package/lib/electron-node/remote-proxy-server-provider.js +43 -43
  30. package/lib/electron-node/remote-status-service.d.ts +6 -6
  31. package/lib/electron-node/remote-status-service.js +54 -54
  32. package/lib/electron-node/remote-types.d.ts +34 -34
  33. package/lib/electron-node/remote-types.js +17 -17
  34. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts +7 -7
  35. package/lib/electron-node/setup/app-native-dependency-contribution.js +57 -57
  36. package/lib/electron-node/setup/main-copy-contribution.d.ts +4 -4
  37. package/lib/electron-node/setup/main-copy-contribution.js +37 -37
  38. package/lib/electron-node/setup/remote-copy-contribution.d.ts +28 -28
  39. package/lib/electron-node/setup/remote-copy-contribution.js +78 -78
  40. package/lib/electron-node/setup/remote-copy-service.d.ts +18 -18
  41. package/lib/electron-node/setup/remote-copy-service.js +126 -126
  42. package/lib/electron-node/setup/remote-native-dependency-contribution.d.ts +34 -34
  43. package/lib/electron-node/setup/remote-native-dependency-contribution.js +34 -34
  44. package/lib/electron-node/setup/remote-native-dependency-service.d.ts +23 -23
  45. package/lib/electron-node/setup/remote-native-dependency-service.js +118 -118
  46. package/lib/electron-node/setup/remote-node-setup-service.d.ts +22 -22
  47. package/lib/electron-node/setup/remote-node-setup-service.js +132 -132
  48. package/lib/electron-node/setup/remote-setup-script-service.d.ts +40 -40
  49. package/lib/electron-node/setup/remote-setup-script-service.js +132 -132
  50. package/lib/electron-node/setup/remote-setup-service.d.ts +28 -28
  51. package/lib/electron-node/setup/remote-setup-service.js +198 -198
  52. package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts +55 -55
  53. package/lib/electron-node/ssh/remote-ssh-connection-provider.d.ts.map +1 -1
  54. package/lib/electron-node/ssh/remote-ssh-connection-provider.js +344 -342
  55. package/lib/electron-node/ssh/remote-ssh-connection-provider.js.map +1 -1
  56. package/lib/electron-node/ssh/ssh-identity-file-collector.d.ts +12 -12
  57. package/lib/electron-node/ssh/ssh-identity-file-collector.js +131 -131
  58. package/lib/package.spec.js +25 -25
  59. package/package.json +6 -7
  60. package/src/electron-browser/remote-electron-file-dialog-service.ts +47 -47
  61. package/src/electron-browser/remote-frontend-contribution.ts +145 -145
  62. package/src/electron-browser/remote-frontend-module.ts +49 -49
  63. package/src/electron-browser/remote-preferences.ts +62 -62
  64. package/src/electron-browser/remote-registry-contribution.ts +70 -70
  65. package/src/electron-browser/remote-service.ts +31 -31
  66. package/src/electron-browser/remote-ssh-contribution.ts +102 -102
  67. package/src/electron-common/remote-ssh-connection-provider.ts +29 -29
  68. package/src/electron-common/remote-status-service.ts +35 -35
  69. package/src/electron-node/backend-remote-service-impl.ts +45 -45
  70. package/src/electron-node/remote-backend-module.ts +80 -80
  71. package/src/electron-node/remote-connection-service.ts +55 -55
  72. package/src/electron-node/remote-connection-socket-provider.ts +34 -34
  73. package/src/electron-node/remote-proxy-server-provider.ts +37 -37
  74. package/src/electron-node/remote-status-service.ts +41 -41
  75. package/src/electron-node/remote-types.ts +56 -56
  76. package/src/electron-node/setup/app-native-dependency-contribution.ts +48 -48
  77. package/src/electron-node/setup/main-copy-contribution.ts +28 -28
  78. package/src/electron-node/setup/remote-copy-contribution.ts +90 -90
  79. package/src/electron-node/setup/remote-copy-service.ts +114 -114
  80. package/src/electron-node/setup/remote-native-dependency-contribution.ts +63 -63
  81. package/src/electron-node/setup/remote-native-dependency-service.ts +111 -111
  82. package/src/electron-node/setup/remote-node-setup-service.ts +123 -123
  83. package/src/electron-node/setup/remote-setup-script-service.ts +146 -146
  84. package/src/electron-node/setup/remote-setup-service.ts +197 -197
  85. package/src/electron-node/ssh/remote-ssh-connection-provider.ts +358 -356
  86. package/src/electron-node/ssh/ssh-identity-file-collector.ts +137 -137
  87. package/src/package.spec.ts +29 -29
package/README.md CHANGED
@@ -1,61 +1,61 @@
1
- <div align='center'>
2
-
3
- <br />
4
-
5
- <img src='https://raw.githubusercontent.com/eclipse-theia/theia/master/logo/theia.svg?sanitize=true' alt='theia-ext-logo' width='100px' />
6
-
7
- <h2>ECLIPSE THEIA - REMOTE EXTENSION</h2>
8
-
9
- <hr />
10
-
11
- </div>
12
-
13
- ## Description
14
-
15
- This package implements functionality to connect to remote systems using Theia.
16
- This facilitates features similar to the features offered by Microsoft's popular `Remote-SSH`, `Dev Containers` or `WSL` extensions for VSCode.
17
-
18
- ## Package Architecture
19
-
20
- The following explains the basic flow of any remote connection. It will be exemplified using the remote SSH feature:
21
-
22
- 1. When the user runs the `SSH: Connect to Host...` command, we send the host info to the local backend.
23
- The corresponding `RemoteSSHConnectionProvider` is scoped to the current connection and can request additional information from the user, such as SSH key passphrases.
24
- 2. Once the `RemoteSSHConnectionProvider` has every information it needs, it creates a SSH connection and registers this connection to the general `RemoteConnectionService`.
25
- Every `RemoteConnection` type implements an interface that is able to handle 3 kinds of messages to the remote system:
26
- 1. Executing commands in the shell of the remote system
27
- 2. Copying data to the remote
28
- 3. Once the connection has been established, a setup process takes place on the remote system:
29
- 1. Identifying the remote platform (i.e. Windows, MacOS or Linux). This information is needed for all the following steps.
30
- 2. Setting up various directories for storing the application and its dependencies.
31
- 3. Download and install the correct Node.js version for the remote platform.
32
- 4. Packaging, copying, and unpackaging the local backend to the remote backend.
33
- 1. Every Theia extension can register `RemoteCopyContribution` binding to copy certain files from the current system.
34
- This contribution point is used for files that are used in all operating systems.
35
- 2. They can also register `RemoteNativeDependencyContribution` bindings to download and copy native dependencies for the remote system.
36
- The downloaded files are on a per-platform basis.
37
- 5. Using the node version that was installed in step 3, we now start the `main.js` of the backend application.
38
- We start the backend with `--port=0`, so that it searches for any available port. It will print the port to the console.
39
- The setup either returns with a setup error or the port of the remote server on the remote system.
40
- 4. With the remote server/port in place, the backend sets up a local proxy server on a random port.
41
- It instructs the `RemoteConnection` object to forward any HTTP request to this proxy server to the remote server.
42
- 5. The backend will return from the initial request from (1) with a new local proxy port. The frontend sets this port in the url and reload itself.
43
- 6. The frontend is now connected to the remote backend by connecting to the local proxy port.
44
- 7. The frontend now performs its normal messaging lifecycle, establishing connections to backend services.
45
- Although these backend services live on a different remote system, the frontend handles them as if they belong to the local backend.
46
-
47
- ## Additional Information
48
-
49
- - [API documentation for `@theia/remote`](https://eclipse-theia.github.io/theia/docs/next/modules/remote.html)
50
- - [Theia - GitHub](https://github.com/eclipse-theia/theia)
51
- - [Theia - Website](https://theia-ide.org/)
52
-
53
- ## License
54
-
55
- - [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/)
56
- - [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
57
-
58
- ## Trademark
59
-
60
- "Theia" is a trademark of the Eclipse Foundation
61
- https://www.eclipse.org/theia
1
+ <div align='center'>
2
+
3
+ <br />
4
+
5
+ <img src='https://raw.githubusercontent.com/eclipse-theia/theia/master/logo/theia.svg?sanitize=true' alt='theia-ext-logo' width='100px' />
6
+
7
+ <h2>ECLIPSE THEIA - REMOTE EXTENSION</h2>
8
+
9
+ <hr />
10
+
11
+ </div>
12
+
13
+ ## Description
14
+
15
+ This package implements functionality to connect to remote systems using Theia.
16
+ This facilitates features similar to the features offered by Microsoft's popular `Remote-SSH`, `Dev Containers` or `WSL` extensions for VSCode.
17
+
18
+ ## Package Architecture
19
+
20
+ The following explains the basic flow of any remote connection. It will be exemplified using the remote SSH feature:
21
+
22
+ 1. When the user runs the `SSH: Connect to Host...` command, we send the host info to the local backend.
23
+ The corresponding `RemoteSSHConnectionProvider` is scoped to the current connection and can request additional information from the user, such as SSH key passphrases.
24
+ 2. Once the `RemoteSSHConnectionProvider` has every information it needs, it creates a SSH connection and registers this connection to the general `RemoteConnectionService`.
25
+ Every `RemoteConnection` type implements an interface that is able to handle 3 kinds of messages to the remote system:
26
+ 1. Executing commands in the shell of the remote system
27
+ 2. Copying data to the remote
28
+ 3. Once the connection has been established, a setup process takes place on the remote system:
29
+ 1. Identifying the remote platform (i.e. Windows, MacOS or Linux). This information is needed for all the following steps.
30
+ 2. Setting up various directories for storing the application and its dependencies.
31
+ 3. Download and install the correct Node.js version for the remote platform.
32
+ 4. Packaging, copying, and unpackaging the local backend to the remote backend.
33
+ 1. Every Theia extension can register `RemoteCopyContribution` binding to copy certain files from the current system.
34
+ This contribution point is used for files that are used in all operating systems.
35
+ 2. They can also register `RemoteNativeDependencyContribution` bindings to download and copy native dependencies for the remote system.
36
+ The downloaded files are on a per-platform basis.
37
+ 5. Using the node version that was installed in step 3, we now start the `main.js` of the backend application.
38
+ We start the backend with `--port=0`, so that it searches for any available port. It will print the port to the console.
39
+ The setup either returns with a setup error or the port of the remote server on the remote system.
40
+ 4. With the remote server/port in place, the backend sets up a local proxy server on a random port.
41
+ It instructs the `RemoteConnection` object to forward any HTTP request to this proxy server to the remote server.
42
+ 5. The backend will return from the initial request from (1) with a new local proxy port. The frontend sets this port in the url and reload itself.
43
+ 6. The frontend is now connected to the remote backend by connecting to the local proxy port.
44
+ 7. The frontend now performs its normal messaging lifecycle, establishing connections to backend services.
45
+ Although these backend services live on a different remote system, the frontend handles them as if they belong to the local backend.
46
+
47
+ ## Additional Information
48
+
49
+ - [API documentation for `@theia/remote`](https://eclipse-theia.github.io/theia/docs/next/modules/remote.html)
50
+ - [Theia - GitHub](https://github.com/eclipse-theia/theia)
51
+ - [Theia - Website](https://theia-ide.org/)
52
+
53
+ ## License
54
+
55
+ - [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/)
56
+ - [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
57
+
58
+ ## Trademark
59
+
60
+ "Theia" is a trademark of the Eclipse Foundation
61
+ https://www.eclipse.org/theia
@@ -1,14 +1,14 @@
1
- import { MaybeArray, URI } from '@theia/core';
2
- import { OpenFileDialogProps, SaveFileDialogProps } from '@theia/filesystem/lib/browser/file-dialog';
3
- import { FileStat } from '@theia/filesystem/lib/common/files';
4
- import { ElectronFileDialogService } from '@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service';
5
- import { RemoteService } from './remote-service';
6
- export declare class RemoteElectronFileDialogService extends ElectronFileDialogService {
7
- protected readonly remoteService: RemoteService;
8
- showOpenDialog(props: OpenFileDialogProps & {
9
- canSelectMany: true;
10
- }, folder?: FileStat | undefined): Promise<MaybeArray<URI> | undefined>;
11
- showOpenDialog(props: OpenFileDialogProps, folder?: FileStat | undefined): Promise<URI | undefined>;
12
- showSaveDialog(props: SaveFileDialogProps, folder?: FileStat | undefined): Promise<URI | undefined>;
13
- }
1
+ import { MaybeArray, URI } from '@theia/core';
2
+ import { OpenFileDialogProps, SaveFileDialogProps } from '@theia/filesystem/lib/browser/file-dialog';
3
+ import { FileStat } from '@theia/filesystem/lib/common/files';
4
+ import { ElectronFileDialogService } from '@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service';
5
+ import { RemoteService } from './remote-service';
6
+ export declare class RemoteElectronFileDialogService extends ElectronFileDialogService {
7
+ protected readonly remoteService: RemoteService;
8
+ showOpenDialog(props: OpenFileDialogProps & {
9
+ canSelectMany: true;
10
+ }, folder?: FileStat | undefined): Promise<MaybeArray<URI> | undefined>;
11
+ showOpenDialog(props: OpenFileDialogProps, folder?: FileStat | undefined): Promise<URI | undefined>;
12
+ showSaveDialog(props: SaveFileDialogProps, folder?: FileStat | undefined): Promise<URI | undefined>;
13
+ }
14
14
  //# sourceMappingURL=remote-electron-file-dialog-service.d.ts.map
@@ -1,58 +1,58 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2023 TypeFox and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
- return c > 3 && r && Object.defineProperty(target, key, r), r;
22
- };
23
- var __metadata = (this && this.__metadata) || function (k, v) {
24
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.RemoteElectronFileDialogService = void 0;
28
- const inversify_1 = require("@theia/core/shared/inversify");
29
- const file_dialog_service_1 = require("@theia/filesystem/lib/browser/file-dialog/file-dialog-service");
30
- const electron_file_dialog_service_1 = require("@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service");
31
- const remote_service_1 = require("./remote-service");
32
- let RemoteElectronFileDialogService = class RemoteElectronFileDialogService extends electron_file_dialog_service_1.ElectronFileDialogService {
33
- showOpenDialog(props, folder) {
34
- if (this.remoteService.isConnected()) {
35
- return file_dialog_service_1.DefaultFileDialogService.prototype.showOpenDialog.call(this, props, folder);
36
- }
37
- else {
38
- return super.showOpenDialog(props, folder);
39
- }
40
- }
41
- showSaveDialog(props, folder) {
42
- if (this.remoteService.isConnected()) {
43
- return file_dialog_service_1.DefaultFileDialogService.prototype.showSaveDialog.call(this, props, folder);
44
- }
45
- else {
46
- return super.showSaveDialog(props, folder);
47
- }
48
- }
49
- };
50
- __decorate([
51
- (0, inversify_1.inject)(remote_service_1.RemoteService),
52
- __metadata("design:type", remote_service_1.RemoteService)
53
- ], RemoteElectronFileDialogService.prototype, "remoteService", void 0);
54
- RemoteElectronFileDialogService = __decorate([
55
- (0, inversify_1.injectable)()
56
- ], RemoteElectronFileDialogService);
57
- exports.RemoteElectronFileDialogService = RemoteElectronFileDialogService;
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ };
23
+ var __metadata = (this && this.__metadata) || function (k, v) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.RemoteElectronFileDialogService = void 0;
28
+ const inversify_1 = require("@theia/core/shared/inversify");
29
+ const file_dialog_service_1 = require("@theia/filesystem/lib/browser/file-dialog/file-dialog-service");
30
+ const electron_file_dialog_service_1 = require("@theia/filesystem/lib/electron-browser/file-dialog/electron-file-dialog-service");
31
+ const remote_service_1 = require("./remote-service");
32
+ let RemoteElectronFileDialogService = class RemoteElectronFileDialogService extends electron_file_dialog_service_1.ElectronFileDialogService {
33
+ showOpenDialog(props, folder) {
34
+ if (this.remoteService.isConnected()) {
35
+ return file_dialog_service_1.DefaultFileDialogService.prototype.showOpenDialog.call(this, props, folder);
36
+ }
37
+ else {
38
+ return super.showOpenDialog(props, folder);
39
+ }
40
+ }
41
+ showSaveDialog(props, folder) {
42
+ if (this.remoteService.isConnected()) {
43
+ return file_dialog_service_1.DefaultFileDialogService.prototype.showSaveDialog.call(this, props, folder);
44
+ }
45
+ else {
46
+ return super.showSaveDialog(props, folder);
47
+ }
48
+ }
49
+ };
50
+ __decorate([
51
+ (0, inversify_1.inject)(remote_service_1.RemoteService),
52
+ __metadata("design:type", remote_service_1.RemoteService)
53
+ ], RemoteElectronFileDialogService.prototype, "remoteService", void 0);
54
+ RemoteElectronFileDialogService = __decorate([
55
+ (0, inversify_1.injectable)()
56
+ ], RemoteElectronFileDialogService);
57
+ exports.RemoteElectronFileDialogService = RemoteElectronFileDialogService;
58
58
  //# sourceMappingURL=remote-electron-file-dialog-service.js.map
@@ -1,26 +1,26 @@
1
- import { Command, CommandContribution, CommandRegistry, ContributionProvider, QuickInputService } from '@theia/core';
2
- import { FrontendApplicationContribution, StatusBar } from '@theia/core/lib/browser';
3
- import { RemoteStatus, RemoteStatusService } from '../electron-common/remote-status-service';
4
- import { RemoteRegistry, RemoteRegistryContribution } from './remote-registry-contribution';
5
- import { RemoteService } from './remote-service';
6
- import { WindowService } from '@theia/core/lib/browser/window/window-service';
7
- export declare namespace RemoteCommands {
8
- const REMOTE_SELECT: Command;
9
- const REMOTE_DISCONNECT: Command;
10
- }
11
- export declare class RemoteFrontendContribution implements CommandContribution, FrontendApplicationContribution {
12
- protected readonly statusBar: StatusBar;
13
- protected readonly quickInputService?: QuickInputService;
14
- protected readonly commandRegistry: CommandRegistry;
15
- protected readonly remoteService: RemoteService;
16
- protected readonly remoteStatusService: RemoteStatusService;
17
- protected readonly windowService: WindowService;
18
- protected readonly remoteRegistryContributions: ContributionProvider<RemoteRegistryContribution>;
19
- protected remoteRegistry: RemoteRegistry;
20
- configure(): Promise<void>;
21
- protected setStatusBar(info: RemoteStatus): Promise<void>;
22
- registerCommands(commands: CommandRegistry): void;
23
- protected disconnectRemote(): void;
24
- protected selectRemote(): Promise<void>;
25
- }
1
+ import { Command, CommandContribution, CommandRegistry, ContributionProvider, QuickInputService } from '@theia/core';
2
+ import { FrontendApplicationContribution, StatusBar } from '@theia/core/lib/browser';
3
+ import { RemoteStatus, RemoteStatusService } from '../electron-common/remote-status-service';
4
+ import { RemoteRegistry, RemoteRegistryContribution } from './remote-registry-contribution';
5
+ import { RemoteService } from './remote-service';
6
+ import { WindowService } from '@theia/core/lib/browser/window/window-service';
7
+ export declare namespace RemoteCommands {
8
+ const REMOTE_SELECT: Command;
9
+ const REMOTE_DISCONNECT: Command;
10
+ }
11
+ export declare class RemoteFrontendContribution implements CommandContribution, FrontendApplicationContribution {
12
+ protected readonly statusBar: StatusBar;
13
+ protected readonly quickInputService?: QuickInputService;
14
+ protected readonly commandRegistry: CommandRegistry;
15
+ protected readonly remoteService: RemoteService;
16
+ protected readonly remoteStatusService: RemoteStatusService;
17
+ protected readonly windowService: WindowService;
18
+ protected readonly remoteRegistryContributions: ContributionProvider<RemoteRegistryContribution>;
19
+ protected remoteRegistry: RemoteRegistry;
20
+ configure(): Promise<void>;
21
+ protected setStatusBar(info: RemoteStatus): Promise<void>;
22
+ registerCommands(commands: CommandRegistry): void;
23
+ protected disconnectRemote(): void;
24
+ protected selectRemote(): Promise<void>;
25
+ }
26
26
  //# sourceMappingURL=remote-frontend-contribution.d.ts.map