UNPKG

@devgrid/netron

Version:
29 lines (28 loc) 1.43 kB
import { Netron } from './netron'; import { Interface } from './interface'; import { Definition } from './definition'; import { EventSubscriber } from './types'; export declare abstract class AbstractPeer { netron: Netron; id: string; protected interfaces: Map<string, { instance: Interface; refCount: number; }>; constructor(netron: Netron, id: string); abstract set(defId: string, name: string, value: any): Promise<void>; abstract get(defId: string, name: string): Promise<any>; abstract call(defId: string, method: string, args: any[]): Promise<any>; abstract subscribe(eventName: string, handler: EventSubscriber): Promise<void> | void; abstract unsubscribe(eventName: string, handler: EventSubscriber): Promise<void> | void; abstract exposeService(instance: any): Promise<Definition>; abstract unexposeService(ctxId: string, releaseOriginated?: boolean): Promise<void>; unexposeAllServices(): void; abstract getServiceNames(): string[]; queryInterface<T>(serviceName: string): Promise<T>; queryInterfaceByDefId<T>(defId: string, def?: Definition): Promise<T>; releaseInterface<T>(iInstance: T): Promise<void>; protected abstract releaseInterfaceInternal(iInstance: any): Promise<void>; protected abstract getDefinitionById(defId: string): Definition; protected abstract getDefinitionByServiceName(name: string): Definition; }