UNPKG

signalk-server

Version:

An implementation of a [Signal K](http://signalk.org) server for boats.

82 lines 3.08 kB
import { IRouter } from 'express'; import { SignalKMessageHub, WithConfig } from '../../app'; import { WithSecurityStrategy } from '../../security'; import { PointDestination, RouteDestination, CourseInfo } from '@signalk/server-api'; import { ResourcesApi } from '../resources'; import { ConfigApp } from '../../config/config'; export declare const COURSE_API_V2_DELTA_COUNT = 13; export declare const COURSE_API_V1_DELTA_COUNT = 8; export declare const COURSE_API_INITIAL_DELTA_COUNT: number; export interface CourseApplication extends IRouter, ConfigApp, WithConfig, WithSecurityStrategy, SignalKMessageHub { } export declare class CourseApi { private app; private resourcesApi; private courseInfo; private store; private cmdSource; private unsubscribes; constructor(app: CourseApplication, resourcesApi: ResourcesApi); start(): Promise<void>; /** * Resource delta message processing to ensure update made to * 1. waypoint referenced as the current destination OR * 2. active route * are reflected in course deltas. */ private processResourceDeltas; private parseSettings; private saveSettings; /** Process deltas for <destination>.nextPoint data * Note: Delta source cannot override destination isAPIset by API! * Destination is set when: * 1. There is no current destination * 2. msg source matches current Destination source * 3. Destination Position is changed. */ private processV1DestinationDeltas; /** Test for valid Signal K position */ private isValidPosition; /** Process stream value and take action * @param cmdSource Object describing the source of the update * @param pos Destination location value in the update */ private parseStreamValue; /** Get course (exposed to plugins) */ getCourse(): Promise<CourseInfo>; /** Clear destination / route (exposed to plugins) */ clearDestination(persistState?: boolean): Promise<void>; /** Set course (exposed to plugins) * @param dest Setting to null clears the current destination */ destination(dest: (PointDestination & { arrivalCircle?: number; }) | null): Promise<void>; /** Set / clear route (exposed to plugins) * @param dest Setting to null clears the current destination */ activeRoute(dest: RouteDestination | null): Promise<void>; private getVesselPosition; private validateCourseInfo; private isValidRouteCourse; private isValidWaypointCourse; private updateAllowed; private initCourseRoutes; private calcReversedIndex; private activateRoute; private setDestination; private isValidArrivalCircle; private isValidIsoTime; private parsePointIndex; private parseHref; private getRoutePoint; private getRoutePoints; private getRoute; private buildDeltaMsg; private buildV1DeltaMsg; private emitCourseInfo; private isAPICmdSource; private isSourceChange; private isCurrentCmdSource; } //# sourceMappingURL=index.d.ts.map