@eclipse-emfcloud/model-service-theia
Version:
Model service Theia
24 lines • 1.4 kB
TypeScript
import { ModelAccessorBus, ProviderChangeSubscription } from '@eclipse-emfcloud/model-accessor-bus';
import { RpcServer } from '@theia/core';
import { ModelAccessorBusClient, ModelAccessorBusProtocol, ProviderChangeSubscriptionToken } from '../common';
import { ModelHubProvider } from './model-hub-provider';
export declare class ModelAccessorBusServer<K = string> implements ModelAccessorBusProtocol, RpcServer<ModelAccessorBusClient> {
protected readonly modelHub: ModelHubProvider<K>;
private nextSubscriptionId;
protected client: ModelAccessorBusClient | undefined;
protected getModelAccessorBus(context: string): Promise<ModelAccessorBus>;
protected readonly subscriptionTokens: Map<number, ProviderChangeSubscriptionEntry>;
setClient(client: ModelAccessorBusClient | undefined): void;
getClient(): ModelAccessorBusClient | undefined;
subscribe(context: string, accessorId: string): Promise<ProviderChangeSubscriptionToken>;
closeSubscription(token: ProviderChangeSubscriptionToken): void;
protected disposeSubscriptions(): void;
get<T>(context: string, accessorId: string, ...parameters: unknown[]): Promise<T | undefined>;
dispose(): void;
}
interface ProviderChangeSubscriptionEntry {
token: ProviderChangeSubscriptionToken;
subscription: ProviderChangeSubscription;
}
export {};
//# sourceMappingURL=model-accessor-bus-server.d.ts.map