UNPKG

ts-onvif

Version:

Client to ONVIF devices

132 lines (131 loc) 5.54 kB
/** * Recording ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/recording.wsdl */ import { Onvif } from './onvif'; import Service from './service'; import { GetRecordingsResponseItem, GetRecordingJobsResponseItem, RecordingConfiguration, RecordingJobConfiguration, TrackConfiguration } from './interfaces/onvif'; import { ReferenceToken } from './interfaces/common'; import { Capabilities, RecordingOptions, CreateRecording, CreateRecordingJob, CreateRecordingJobResponse, CreateTrack, DeleteRecording, DeleteRecordingJob, DeleteTrack, ExportRecordedData, ExportRecordedDataResponse, GetExportRecordedDataState, GetExportRecordedDataStateResponse, GetRecordingConfiguration, GetRecordingJobConfiguration, GetRecordingJobState, GetRecordingOptions, GetTrackConfiguration, OverrideSegmentDuration, SetRecordingConfiguration, SetRecordingJobConfiguration, SetRecordingJobConfigurationResponse, SetRecordingJobMode, SetTrackConfiguration, StopExportRecordedData, StopExportRecordedDataResponse } from './interfaces/recording'; /** * Recording service */ export default class Recording extends Service { constructor(onvif: Onvif); private static recordingSourceToBuild; private static recordingConfigurationToBuild; private static trackConfigurationToBuild; private static recordingJobTrackToBuild; private static recordingJobSourceToBuild; private static recordingJobConfigurationToBuild; private static searchScopeToBuild; private static storageDestinationToBuild; /** * Returns the capabilities of the recording service. */ getServiceCapabilities(): Promise<Capabilities>; /** * Create a new recording. * @param options */ createRecording({ recordingConfiguration }: CreateRecording): Promise<ReferenceToken>; /** * Delete a recording. * @param options */ deleteRecording({ recordingToken }: DeleteRecording): Promise<void>; /** * Return descriptions of all recordings on the device. */ getRecordings(): Promise<GetRecordingsResponseItem[]>; /** * Change the configuration of a recording. * @param options */ setRecordingConfiguration({ recordingToken, recordingConfiguration, }: SetRecordingConfiguration): Promise<void>; /** * Retrieve the recording configuration for a recording. * @param options */ getRecordingConfiguration({ recordingToken }: GetRecordingConfiguration): Promise<RecordingConfiguration>; /** * Return recording options for a recording token. * @param options */ getRecordingOptions({ recordingToken }: GetRecordingOptions): Promise<RecordingOptions>; /** * Create a new track within a recording. * @param options */ createTrack({ recordingToken, trackConfiguration }: CreateTrack): Promise<ReferenceToken>; /** * Remove a track from a recording. * @param options */ deleteTrack({ recordingToken, trackToken }: DeleteTrack): Promise<void>; /** * Retrieve the configuration for a specific track. * @param options */ getTrackConfiguration({ recordingToken, trackToken }: GetTrackConfiguration): Promise<TrackConfiguration>; /** * Change the configuration of a track. * @param options */ setTrackConfiguration({ recordingToken, trackToken, trackConfiguration, }: SetTrackConfiguration): Promise<void>; /** * Create a new recording job. * @param options */ createRecordingJob({ jobConfiguration }: CreateRecordingJob): Promise<CreateRecordingJobResponse>; /** * Remove a recording job. * @param options */ deleteRecordingJob({ jobToken }: DeleteRecordingJob): Promise<void>; /** * Return a list of all recording jobs on the device. */ getRecordingJobs(): Promise<GetRecordingJobsResponseItem[]>; /** * Change the configuration for a recording job. * @param options */ setRecordingJobConfiguration({ jobToken, jobConfiguration, }: SetRecordingJobConfiguration): Promise<SetRecordingJobConfigurationResponse>; /** * Return the current configuration for a recording job. * @param options */ getRecordingJobConfiguration({ jobToken }: GetRecordingJobConfiguration): Promise<RecordingJobConfiguration>; /** * Change the mode of a recording job. * @param options */ setRecordingJobMode({ jobToken, mode }: SetRecordingJobMode): Promise<void>; /** * Return the state of a recording job. * @param options */ getRecordingJobState({ jobToken }: GetRecordingJobState): Promise<any>; /** * Export selected recordings to a storage target. * @param options */ exportRecordedData(options: ExportRecordedData): Promise<ExportRecordedDataResponse>; /** * Stop an ExportRecordedData operation. * @param options */ stopExportRecordedData({ operationToken }: StopExportRecordedData): Promise<StopExportRecordedDataResponse>; /** * Retrieve the state of an ExportRecordedData operation. * @param options */ getExportRecordedDataState({ operationToken, }: GetExportRecordedDataState): Promise<GetExportRecordedDataStateResponse>; /** * Request a temporary override of the target segment duration for a recording. * @param options */ overrideSegmentDuration({ targetSegmentDuration, expiration, recordingConfiguration, }: OverrideSegmentDuration): Promise<void>; }