ts-onvif
Version:
Client to ONVIF devices
75 lines (74 loc) • 2.2 kB
TypeScript
/**
* Helper functions for representing commonly used ONVIF types in XML format
* @author Andrew D.Laptev <a.d.laptev@gmail.com>
*/
import { Config, ItemList, MulticastConfiguration, StreamSetup } from '../interfaces/onvif';
import { PTZVector } from '../interfaces/common';
export type XSAny = Record<string, any> | undefined;
export declare const xsany = "__any__";
export declare function itemList(itemList: ItemList): {
Extension?: import("../interfaces/onvif").ItemListExtension | undefined;
ElementItem?: {
$: any;
}[] | undefined;
SimpleItem?: {
$: {
Name: string;
Value: unknown;
};
}[] | undefined;
};
export declare function config(config: Config): {
$: {
Name: string;
Type: unknown;
};
Parameters: {
Extension?: import("../interfaces/onvif").ItemListExtension | undefined;
ElementItem?: {
$: any;
}[] | undefined;
SimpleItem?: {
$: {
Name: string;
Value: unknown;
};
}[] | undefined;
};
};
export declare function multicastConfiguration(multicast: MulticastConfiguration): {
Address: {
IPv6Address?: string | undefined;
IPv4Address?: string | undefined;
Type: import("../interfaces/onvif").IPType;
};
Port: number;
TTL: number;
AutoStart: boolean;
};
export declare function streamSetupToBuild({ stream, transport }: StreamSetup): {
Stream: import("../interfaces/onvif").StreamType;
Transport: {
Tunnel?: {
Protocol: import("../interfaces/onvif").TransportProtocol;
} | undefined;
Protocol: import("../interfaces/onvif").TransportProtocol;
};
};
export declare function ptzVectorToBuild(vector: PTZVector): {
Zoom?: {
$: {
x: number;
};
} | undefined;
PanTilt?: {
$: {
x: number;
y: number;
};
} | undefined;
};
/**
* ONVIF StringList / StringAttrList values are encoded as space-separated strings in XML attributes.
*/
export declare function stringListToBuild(list?: string[]): string | undefined;