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