UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

236 lines (235 loc) 9.36 kB
import { IClient, TBlobResponse, TParameters, TResponse } from './internal/types'; import { ICAO, TApiUser, TBlackList, TCameraSettings, TExportDataType, TGetIcaoByOption, TImportDataType, TPriorityList, TTrackingMode, TWhiteList, TZones } from './types/PlaneTrackerAPI'; import { THttpRequestOptions, TProxyParams } from './types/common'; import { ProxyClient } from './internal/ProxyClient'; export declare class PlaneTrackerAPI<Client extends IClient<TResponse, any>> { private client; private apiUser; constructor(client: Client, apiUser: TApiUser); static getProxyPath: () => string; static getWsEventsPath: () => string; getClient(proxyParams?: TProxyParams): Client | ProxyClient<Client>; checkCameraTime(options?: THttpRequestOptions): Promise<boolean>; serverRunCheck(options?: THttpRequestOptions): Promise<TResponse>; getLiveViewAlias(rtspUrl: string, options?: THttpRequestOptions): Promise<{ ws: string; ws_initial_message: string; alias: string; }>; resetPtzCalibration(options?: THttpRequestOptions): Promise<void>; resetFocusCalibration(options?: THttpRequestOptions): Promise<void>; fetchCameraSettings(options?: THttpRequestOptions): Promise<{ camera: { ip: string; port: number; protocol: "https" | "http" | "https_insecure"; user: string; pass: string; }; units: "metric" | "imperial"; adsbSource: { ip: string; port: number; }; cameraCalibrationProcessConfig: { nightSkyCalibrationEnabled: boolean; scheduleNightSkyCalibrationTimestamp: number; focusCalibrationPoints: string; }; cameraConfig: { defaultCaptureSizeMeters: number; captureSizeExtensionMeters: number; maxZoomLevel?: number | undefined; }; stream: { width: number; height: number; }; imageConfig: { dayAperture: number; nightAperture: number; maxGain: number; }; airportConfig: { icao: string; centerLat: number; centerLon: number; radius: number; }; trackingConfig: { prioritizeEmergency: boolean; trackingZoneWeightIncrease: number; guardTourEnabled: boolean; guardTourId: number; }; widget: { enabled: boolean; scale: number; coord: "top_left" | "top_right" | "bottom_left" | "bottom_right"; posX: number; posY: number; }; airportWidget: { enabled: boolean; scale: number; coord: "top_left" | "top_right" | "bottom_left" | "bottom_right"; posX: number; posY: number; }; fr24FlightInfoSource: { enabled: boolean; priority: number; apiToken: string; validateFlights: boolean; }; radarcapeFlightInfoSource: { ip: string; port: number; enabled: boolean; priority: number; }; identificationLabel: { firstRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao"; secondRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao"; thirdRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao"; fourthRow: "blank" | "registration" | "call_sign" | "flight_number" | "icao"; opacity: number; }; acs: { ip: string; port: number; enabled: boolean; protocol: "https" | "http" | "https_insecure"; user: string; pass: string; sourceKey: string; }; genetec: { ip: string; port: number; enabled: boolean; cameraList: string[]; appId: string; protocol: "https" | "http" | "https_insecure"; user: string; pass: string; baseUri: string; }; overlayText?: { displayIcao?: boolean | undefined; displayRegistration?: boolean | undefined; displayFlightNumber?: boolean | undefined; displayAltitude?: boolean | undefined; displayVelocity?: boolean | undefined; displayDistance?: boolean | undefined; displayFOV?: boolean | undefined; displayPTError?: boolean | undefined; displayPTZSpeed?: boolean | undefined; displayVelocityData?: boolean | undefined; displaySignalQuality?: boolean | undefined; displayAutoTrackingInfo?: boolean | undefined; displayGPSCoords?: boolean | undefined; displayVapixQuery?: boolean | undefined; displayFocus?: boolean | undefined; displayAperture?: boolean | undefined; displaySunDistance?: boolean | undefined; displayTickTime?: boolean | undefined; displayAircraftInfo?: boolean | undefined; } | undefined; }>; setCameraSettings(settings: TCameraSettings, options?: THttpRequestOptions): Promise<TResponse>; fetchServerSettings(options?: THttpRequestOptions): Promise<{ cameraCalibration: { posLat: number; posLon: number; geoidHN: number; altitudeAmsl: number; rotationEast: number; rotationNorth: number; rotationUp: number; tiltTransformationCoefA: number; tiltCameraKnownPoint: number; tiltRealKnownPoint: number; }; }>; exportAppSettings(dataType: TExportDataType, options?: THttpRequestOptions): Promise<TBlobResponse<Client>>; importAppSettings(dataType: TImportDataType, formData: Parameters<Client['post']>[0]['data'], options?: THttpRequestOptions): Promise<void>; fetchFlightInfo(icao: ICAO, options?: THttpRequestOptions): Promise<{ destinationAirport: { icao?: string | undefined; iata?: string | undefined; city?: string | undefined; }; registration?: string | undefined; callsign?: string | undefined; flightNumber?: string | undefined; aircraftType?: string | undefined; airlines?: string | undefined; originAirport?: { icao?: string | undefined; iata?: string | undefined; city?: string | undefined; } | undefined; flightImages?: { src?: string | undefined; photographer?: string | undefined; }[] | undefined; }>; getTrackingMode(options?: THttpRequestOptions): Promise<{ mode: "MANUAL" | "AUTOMATIC"; }>; setTrackingMode(mode: TTrackingMode['mode'], options?: THttpRequestOptions): Promise<void>; startTrackingPlane(icao: ICAO, options?: THttpRequestOptions): Promise<void>; stopTrackingPlane(options?: THttpRequestOptions): Promise<void>; getIcao(by: TGetIcaoByOption, value: string, options?: THttpRequestOptions): Promise<string>; getPriorityList(options?: THttpRequestOptions): Promise<{ priorityList: string[]; }>; setPriorityList(priorityList: TPriorityList['priorityList'], options?: THttpRequestOptions): Promise<TResponse>; getWhiteList(options?: THttpRequestOptions): Promise<{ whiteList: string[]; }>; setWhiteList(whiteList: TWhiteList['whiteList'], options?: THttpRequestOptions): Promise<TResponse>; getBlackList(options?: THttpRequestOptions): Promise<{ blackList: string[]; }>; setBlackList(blackList: TBlackList['blackList'], options?: THttpRequestOptions): Promise<TResponse>; fetchMapInfo(options?: THttpRequestOptions): Promise<{ minZoom: number; maxZoom: number; mapTypes: ("roadmap" | "satellite")[]; tileSize: number; }>; getZones(options?: THttpRequestOptions): Promise<{ zones: { enabled: boolean; area: [{ lat: number; lon: number; }, ...{ lat: number; lon: number; }[]]; flightDirection: "all" | "arrival" | "departure"; weight: number; name?: string | undefined; minAltitudeAmsl?: number | undefined; maxAltitudeAmsl?: number | undefined; minSpeedKmph?: number | undefined; maxSpeedKmph?: number | undefined; }[]; }>; setZones(zones: TZones, options?: THttpRequestOptions): Promise<void>; goToCoordinates(lat: number, lon: number, alt?: number, options?: THttpRequestOptions): Promise<ReturnType<Client["get"]>>; checkGenetecConnection(params: TParameters, options?: THttpRequestOptions): Promise<TResponse>; getGenetecCameraList(params: TParameters, options?: THttpRequestOptions): Promise<{ value: string; index: number; label: string; }[]>; private _getJson; private _getBlob; private parseBlobResponse; private _postJsonEncoded; private _postUrlEncoded; }