ts-onvif
Version:
Client to ONVIF devices
159 lines (158 loc) • 6.41 kB
TypeScript
import { StringList, SupportedRules, Config, SupportedAnalyticsModules } from './onvif';
import { Frame } from './metadatastream';
import { ReferenceToken } from './common';
export interface Capabilities {
/** Indication that the device supports the rules interface and the rules syntax. */
ruleSupport?: boolean;
/** Indication that the device supports the scene analytics module interface. */
analyticsModuleSupport?: boolean;
/** Indication that the device produces the cell based scene description */
cellBasedSceneDescriptionSupported?: boolean;
/** Indication that the device supports the GetRuleOptions operation on the rules interface */
ruleOptionsSupported?: boolean;
/** Indication that the device supports the GetAnalyticsModuleOptions operation on the analytics interface */
analyticsModuleOptionsSupported?: boolean;
/** Indication that the device supports the GetSupportedMetadata operation. */
supportedMetadata?: boolean;
/** Indication what kinds of method that the device support for sending image, acceptable values are defined in tt:ImageSendingType. */
imageSendingType?: StringList;
[key: string]: unknown;
}
export interface ConfigOptions {
/** The RuleType the ConfigOptions applies to if the Name attribute is ambiguous. */
ruleType?: unknown;
/**
* The Name of the SimpleItemDescription/ElementItemDescription
* the ConfigOptions applies to.
*/
name: string;
/**
* Type of the Rule Options represented by a unique QName.
* The Type defines the element contained in this structure.
* This attribute is deprecated since its value must be identical to the embedded element.
*/
type?: unknown;
/** Optional name of the analytics module this constraint applies to. This option is only necessary in cases where different constraints for elements with the same Name exist. */
analyticsModule?: unknown;
/** Minimal number of occurrences. Defaults to one. */
minOccurs?: number;
/** Maximum number of occurrences. Defaults to one. */
maxOccurs?: number;
/** XML tree containing the element value as defined in the Type attribute. */
[key: string]: unknown;
}
export interface MetadataInfo {
/** Reference to an AnalyticsModule Type. */
type: unknown;
/** Sample frame content starting with the tt:Frame node. */
sampleFrame: Frame;
[key: string]: unknown;
}
export interface GetServiceCapabilities {
}
export interface GetServiceCapabilitiesResponse {
/** The capabilities for the analytics service is returned in the Capabilities element. */
capabilities: Capabilities;
}
export interface GetSupportedRules {
/**
* References an existing Video Analytics configuration. The list of available tokens can be obtained
* via the Media service GetVideoAnalyticsConfigurations method.
*/
configurationToken: ReferenceToken;
}
export interface GetSupportedRulesResponse {
supportedRules: SupportedRules;
}
export interface CreateRules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
rule: Config[];
}
export interface CreateRulesResponse {
}
export interface DeleteRules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
/** References the specific rule to be deleted (e.g. "MyLineDetector"). */
ruleName: string[];
}
export interface DeleteRulesResponse {
}
export interface ModifyRules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
rule: Config[];
}
export interface ModifyRulesResponse {
}
export interface GetRules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
}
export interface GetRulesResponse {
rule?: Config[];
}
export interface GetRuleOptions {
/** Reference to an SupportedRule Type returned from GetSupportedRules. */
ruleType?: unknown;
/** Reference to an existing analytics configuration. */
configurationToken: ReferenceToken;
}
export interface GetRuleOptionsResponse {
/** A device shall provide respective ConfigOptions.RuleType for each RuleOption if the request does not specify RuleType. The response Options shall not contain any AnalyticsModule attribute. */
ruleOptions?: ConfigOptions[];
}
export interface GetSupportedAnalyticsModules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
}
export interface GetSupportedAnalyticsModulesResponse {
supportedAnalyticsModules: SupportedAnalyticsModules;
}
export interface CreateAnalyticsModules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
analyticsModule?: Config[];
}
export interface CreateAnalyticsModulesResponse {
}
export interface DeleteAnalyticsModules {
/** Reference to an existing Video Analytics configuration. */
configurationToken: ReferenceToken;
/** Name of the AnalyticsModule to be deleted. */
analyticsModuleName?: string[];
}
export interface DeleteAnalyticsModulesResponse {
}
export interface ModifyAnalyticsModules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
analyticsModule?: Config[];
}
export interface ModifyAnalyticsModulesResponse {
}
export interface GetAnalyticsModules {
/** Reference to an existing VideoAnalyticsConfiguration. */
configurationToken: ReferenceToken;
}
export interface GetAnalyticsModulesResponse {
analyticsModule?: Config[];
}
export interface GetAnalyticsModuleOptions {
/** Reference to an SupportedAnalyticsModule Type returned from GetSupportedAnalyticsModules. */
type?: unknown;
/** Reference to an existing AnalyticsConfiguration. */
configurationToken: ReferenceToken;
}
export interface GetAnalyticsModuleOptionsResponse {
/** List of options for the specified analytics module. The response Options shall not contain any RuleType attribute. */
options?: ConfigOptions[];
}
export interface GetSupportedMetadata {
/** Optional reference to an AnalyticsModule Type returned from GetSupportedAnalyticsModules. */
type?: unknown;
}
export interface GetSupportedMetadataResponse {
analyticsModule?: MetadataInfo[];
}