@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
14 lines (13 loc) • 1.02 kB
TypeScript
import GirafeSingleton from '../base/GirafeSingleton.js';
import LayerWms from '../models/layers/layerwms.js';
import ServerOgc from '../models/serverogc.js';
import IGirafeContext from './context/icontext.js';
export default abstract class VendorSpecificOgcServerManager<OgcServerClient, OgcClientOptions> extends GirafeSingleton {
protected readonly _clientClasses: Map<string, new (ogcServer: ServerOgc, options: OgcClientOptions, context: IGirafeContext) => OgcServerClient>;
protected readonly _clients: Map<string, OgcServerClient>;
abstract getClientId(ogcServer: ServerOgc): string;
createClient(clientClass: new (os: ServerOgc, opt: OgcClientOptions, context: IGirafeContext) => OgcServerClient, ogcServer: ServerOgc): OgcServerClient;
registerClientClass(type: string, clientClass: new (ogcServer: ServerOgc, opt: OgcClientOptions, context: IGirafeContext) => OgcServerClient): void;
getClient(ogcServer: ServerOgc): OgcServerClient;
getClient(layerWms: LayerWms): OgcServerClient;
}