import { rhamtEvents } from 'raas-core'; import { RaasClient } from 'raas-client'; export interface EditorDelegate { onOptionChanged: rhamtEvents.TypedEvent<{id: string, option: string, value: any}>; onOptionAdded: rhamtEvents.TypedEvent<{option: string, value: any}>; onRaasClientChanged: rhamtEvents.TypedEvent<{host: string, port: number}>; onConnectRaasClient: rhamtEvents.TypedEvent; onDisconnectRaasClient: rhamtEvents.TypedEvent; onStartAnalaysis: rhamtEvents.TypedEvent; onCancelAnalaysis: rhamtEvents.TypedEvent; onCliChanged: rhamtEvents.TypedEvent<{id: string}>; onAddInstallation: rhamtEvents.TypedEvent<{location: string, name: string, version: string}>; onJavaHomeChanged: rhamtEvents.TypedEvent<{location: string}>; onDisposed: rhamtEvents.TypedEvent; raasClientStarting(raasClient: RaasClient): void; raasClientConnected(raasClient: RaasClient): void; raasClientDisconnected(raasClient: RaasClient): void; unableToConnectRaasClient(raasClient: RaasClient): void; listen(): void; } export abstract class AbstractEditorDelegate implements EditorDelegate { onOptionChanged = new rhamtEvents.TypedEvent<{id: string, option: string, value: any}>(); onOptionAdded = new rhamtEvents.TypedEvent<{option: string, value: any}>(); onRaasClientChanged = new rhamtEvents.TypedEvent<{host: string, port: number}>(); onConnectRaasClient = new rhamtEvents.TypedEvent(); onDisconnectRaasClient = new rhamtEvents.TypedEvent(); onStartAnalaysis = new rhamtEvents.TypedEvent(); onCancelAnalaysis = new rhamtEvents.TypedEvent(); onCliChanged = new rhamtEvents.TypedEvent<{id: string}>(); onAddInstallation = new rhamtEvents.TypedEvent<{location: string, name: string, version: string}>(); onJavaHomeChanged = new rhamtEvents.TypedEvent<{location: string}>(); onDisposed = new rhamtEvents.TypedEvent(); abstract raasClientStarting(raasClient: RaasClient): void; abstract raasClientConnected(raasClient: RaasClient): void; abstract raasClientDisconnected(raasClient: RaasClient): void; abstract unableToConnectRaasClient(raasClient: RaasClient): void; abstract listen(): void; }