mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-27 05:06:42 +00:00
Fix MonitorManagerProxy
DI issue
This commit is contained in:
parent
a8d803e7c3
commit
fbe8fb421a
@ -152,7 +152,7 @@ import {
|
|||||||
OutputChannelRegistryMainImpl as TheiaOutputChannelRegistryMainImpl,
|
OutputChannelRegistryMainImpl as TheiaOutputChannelRegistryMainImpl,
|
||||||
OutputChannelRegistryMainImpl,
|
OutputChannelRegistryMainImpl,
|
||||||
} from './theia/plugin-ext/output-channel-registry-main';
|
} from './theia/plugin-ext/output-channel-registry-main';
|
||||||
import { ExecutableService, ExecutableServicePath, MonitorManagerProxy, MonitorManagerProxyClient, MonitorManagerProxyPath } from '../common/protocol';
|
import { ExecutableService, ExecutableServicePath, MonitorManagerProxy, MonitorManagerProxyClient, MonitorManagerProxyFactory, MonitorManagerProxyPath } from '../common/protocol';
|
||||||
import { MonacoTextModelService as TheiaMonacoTextModelService } from '@theia/monaco/lib/browser/monaco-text-model-service';
|
import { MonacoTextModelService as TheiaMonacoTextModelService } from '@theia/monaco/lib/browser/monaco-text-model-service';
|
||||||
import { MonacoTextModelService } from './theia/monaco/monaco-text-model-service';
|
import { MonacoTextModelService } from './theia/monaco/monaco-text-model-service';
|
||||||
import { ResponseServiceImpl } from './response-service-impl';
|
import { ResponseServiceImpl } from './response-service-impl';
|
||||||
@ -417,8 +417,10 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
|||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
bind(MonitorManagerProxyFactory).toFactory((context) => () => context.container.get<MonitorManagerProxy>(MonitorManagerProxy))
|
||||||
|
|
||||||
bind(MonitorManagerProxy).toDynamicValue((context) =>
|
bind(MonitorManagerProxy).toDynamicValue((context) =>
|
||||||
WebSocketConnectionProvider.createProxy(context.container, MonitorManagerProxyPath)
|
WebSocketConnectionProvider.createProxy(context.container, MonitorManagerProxyPath, context.container.get(MonitorManagerProxyClient))
|
||||||
).inSingletonScope();
|
).inSingletonScope();
|
||||||
|
|
||||||
// Monitor manager proxy client to receive and delegate pluggable monitors
|
// Monitor manager proxy client to receive and delegate pluggable monitors
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Emitter, JsonRpcProxy, MessageService } from "@theia/core";
|
import { Emitter, MessageService } from "@theia/core";
|
||||||
import { inject, injectable } from "@theia/core/shared/inversify";
|
import { inject, injectable } from "@theia/core/shared/inversify";
|
||||||
import { Board, Port } from "../common/protocol";
|
import { Board, Port } from "../common/protocol";
|
||||||
import { Monitor, MonitorManagerProxy, MonitorManagerProxyClient, MonitorSettings } from "../common/protocol/monitor-service";
|
import { Monitor, MonitorManagerProxyClient, MonitorManagerProxyFactory, MonitorSettings } from "../common/protocol/monitor-service";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class MonitorManagerProxyClientImpl implements MonitorManagerProxyClient {
|
export class MonitorManagerProxyClientImpl implements MonitorManagerProxyClient {
|
||||||
@ -26,8 +26,8 @@ export class MonitorManagerProxyClientImpl implements MonitorManagerProxyClient
|
|||||||
protected messageService: MessageService,
|
protected messageService: MessageService,
|
||||||
|
|
||||||
// This is necessary to call the backend methods from the frontend
|
// This is necessary to call the backend methods from the frontend
|
||||||
@inject(MonitorManagerProxy)
|
@inject(MonitorManagerProxyFactory)
|
||||||
protected server: JsonRpcProxy<MonitorManagerProxy>
|
protected server: MonitorManagerProxyFactory
|
||||||
) {
|
) {
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -71,11 +71,11 @@ export class MonitorManagerProxyClientImpl implements MonitorManagerProxyClient
|
|||||||
}
|
}
|
||||||
|
|
||||||
async startMonitor(board: Board, port: Port, settings?: MonitorSettings): Promise<void> {
|
async startMonitor(board: Board, port: Port, settings?: MonitorSettings): Promise<void> {
|
||||||
return this.server.startMonitor(board, port, settings);
|
return this.server().startMonitor(board, port, settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentSettings(board: Board, port: Port): MonitorSettings {
|
getCurrentSettings(board: Board, port: Port): MonitorSettings {
|
||||||
return this.server.getCurrentSettings(board, port);
|
return this.server().getCurrentSettings(board, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
send(message: string): void {
|
send(message: string): void {
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
import { Event, JsonRpcServer } from "@theia/core";
|
import { Event, JsonRpcServer } from "@theia/core";
|
||||||
import { Board, Port } from './boards-service';
|
import { Board, Port } from './boards-service';
|
||||||
|
|
||||||
|
export const MonitorManagerProxyFactory = Symbol('MonitorManagerProxyFactory');
|
||||||
|
export type MonitorManagerProxyFactory = () => MonitorManagerProxy;
|
||||||
|
|
||||||
export const MonitorManagerProxyPath = '/services/monitor-manager-proxy';
|
export const MonitorManagerProxyPath = '/services/monitor-manager-proxy';
|
||||||
export const MonitorManagerProxy = Symbol('MonitorManagerProxy');
|
export const MonitorManagerProxy = Symbol('MonitorManagerProxy');
|
||||||
export interface MonitorManagerProxy extends JsonRpcServer<MonitorManagerProxyClient> {
|
export interface MonitorManagerProxy extends JsonRpcServer<MonitorManagerProxyClient> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user