@eclipse-emfcloud/model-service-theia
Version:
Model service Theia
49 lines • 1.74 kB
TypeScript
/**
* Protocol for a subscription to the backend model hub tracking service.
*/
export interface ModelHubTrackingSubscription {
/**
* Optional notification when a model hub has been created in the
* backend and is ready for service.
*
* @param context the model hub context
*/
onModelHubCreated?: (context: string) => void;
/**
* Optional notification when a model hub has been destroyed in the
* backend and is no longer available for service.
*
* @param context the model hub context
*/
onModelHubDestroyed?: (context: string) => void;
/**
* Close the subscription.
* After this call, the attached call-backs, if any, will
* never be invoked by the tracking service.
*/
close(): void;
}
export declare const ModelHubTracker: unique symbol;
/**
* An injectable service for tracking the comings and goings of model hubs
* in the backend. This tracking service is available both in the backend
* and in the frontend.
*/
export interface ModelHubTracker {
/**
* Create a subscription by which to track backend model hubs.
*
* On attachment of an `onModelHubCreated()` call-back, that call-back
* will be notified of the availability of all model hubs currently
* in existence that are initialized and ready for service.
*/
trackModelHubs(): ModelHubTrackingSubscription;
/**
* Query whether the backend has a model hub ready to serve the given `context`.
*
* @param context a model hub context
* @returns whether the backend has a model hub ready to serve the `context`
*/
isModelHubAvailable(context: string): boolean;
}
//# sourceMappingURL=model-hub-tracker.d.ts.map