ts-onvif
Version:
Client to ONVIF devices
126 lines (125 loc) • 5.15 kB
TypeScript
import { PositiveInteger } from './types';
import { ReferenceToken } from './common';
import { Duration } from './basics';
/** The direction for PanMove to move the device. */
export type PanDirection = 'Left' | 'Right';
/** The direction for TiltMove to move the device. */
export type TiltDirection = 'Up' | 'Down';
/** The direction for ZoomMove to change the focal length in relation to the video source. */
export type ZoomDirection = 'Wide' | 'Telephoto';
/** The direction for RollMove to move the device. */
export type RollDirection = 'Clockwise' | 'Counterclockwise' | 'Auto';
/** The direction for FocusMove to move the focal plane in relation to the video source. */
export type FocusDirection = 'Near' | 'Far' | 'Auto';
/** The quantity of movement events that have occured over the lifetime of the device. */
export interface Usage {
/** The quantity of pan movement events over the life of the device. */
pan?: PositiveInteger;
/** The quantity of tilt movement events over the life of the device. */
tilt?: PositiveInteger;
/** The quantity of zoom movement events over the life of the device. */
zoom?: PositiveInteger;
/** The quantity of roll movement events over the life of the device. */
roll?: PositiveInteger;
/** The quantity of focus movement events over the life of the device. */
focus?: PositiveInteger;
[key: string]: unknown;
}
/** The provisioning capabilities of a video source on the device. */
export interface SourceCapabilities {
/** Unique identifier of a video source. */
videoSourceToken: ReferenceToken;
/** Lifetime limit of pan moves for this video source. Presence of this attribute indicates support of pan move. */
maximumPanMoves?: PositiveInteger;
/** Lifetime limit of tilt moves for this video source. Presence of this attribute indicates support of tilt move. */
maximumTiltMoves?: PositiveInteger;
/** Lifetime limit of zoom moves for this video source. Presence of this attribute indicates support of zoom move. */
maximumZoomMoves?: PositiveInteger;
/** Lifetime limit of roll moves for this video source. Presence of this attribute indicates support of roll move. */
maximumRollMoves?: PositiveInteger;
/** Indicates "auto" as a valid enum for Direction in RollMove. */
autoLevel?: boolean;
/** Lifetime limit of focus moves for this video source. Presence of this attribute indicates support of focus move. */
maximumFocusMoves?: PositiveInteger;
/** Indicates "auto" as a valid enum for Direction in FocusMove. */
autoFocus?: boolean;
[key: string]: unknown;
}
/** The capabilities of Provisioning Service on the device. */
export interface Capabilities {
/** Maximum time before stopping movement after a move operation. */
defaultTimeout: Duration;
/** Capabilities per video source. */
source?: SourceCapabilities[];
[key: string]: unknown;
}
export interface GetServiceCapabilities {
}
export interface GetServiceCapabilitiesResponse {
/** The capabilities for the provisioning service on this device. */
capabilities: Capabilities;
}
export interface PanMove {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
/** "left" or "right". */
direction: PanDirection;
/** "Operation timeout, if less than default timeout. */
timeout?: Duration;
}
export interface PanMoveResponse {
}
export interface TiltMove {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
/** "up" or "down". */
direction: TiltDirection;
/** "Operation timeout, if less than default timeout. */
timeout?: Duration;
}
export interface TiltMoveResponse {
}
export interface ZoomMove {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
/** "wide" or "telephoto". */
direction: ZoomDirection;
/** "Operation timeout, if less than default timeout. */
timeout?: Duration;
}
export interface ZoomMoveResponse {
}
export interface RollMove {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
/** "clockwise", "counterclockwise", or "auto". */
direction: RollDirection;
/** "Operation timeout, if less than default timeout. */
timeout?: Duration;
}
export interface RollMoveResponse {
}
export interface FocusMove {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
/** "near", "far", or "auto". */
direction: FocusDirection;
/** "Operation timeout, if less than default timeout. */
timeout?: Duration;
}
export interface FocusMoveResponse {
}
export interface Stop {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
}
export interface StopResponse {
}
export interface GetUsage {
/** The video source associated with the provisioning. */
videoSource: ReferenceToken;
}
export interface GetUsageResponse {
/** The set of lifetime usage values for the provisioning associated with the video source. */
usage: Usage;
}