UNPKG

ts-onvif

Version:

Client to ONVIF devices

110 lines (109 loc) 3.89 kB
import { Date, StringAttrList } from './onvif'; import { AnyURI } from './basics'; export type AppState = 'Active' | 'Inactive' | 'Installing' | 'Uninstalling' | 'Removed' | 'InstallationFailed'; export interface AppInfo { /** Unique app identifier of the application instance. */ appID: string; /** User readable application name */ name: string; /** Version of the installed application. The details of the format are outside of the scope of this specificaton. */ version: string; /** Licenses associated with the application. */ licenses?: LicenseInfo[]; /** List of privileges granted to the application. */ privileges?: string[]; /** Date and time when the application has been installed. */ installationDate: Date; /** Time of last update to this app, i.e. the time when this particular version was installed. */ lastUpdate: Date; /** InstallationFailed state shall not be used here. */ state: AppState; /** Supplemental information why the application is in the current state. In error cases this field contains the error reason. */ status: string; /** If set the application will start automatically after booting of the device. */ autostart: boolean; /** Link to supplementary information about the application or its vendor. */ website: AnyURI; /** Link to a list of open source licenses used by the application. */ openSource?: AnyURI; /** Optional Uri for backup and restore of the application configuration. */ configuration?: AnyURI; /** Optional reference to the interface definition of the application. */ interfaceDescription?: AnyURI[]; } export interface LicenseInfo { /** Textual name of the license */ name: string; /** Start time of validity */ validFrom?: Date; /** End time of validity */ validUntil?: Date; } export interface Capabilities { /** List of supported app container formats that can be uploaded via this service. */ formatsSupported?: StringAttrList; /** Signals support for licensing of applications. */ licensing?: boolean; /** * Path part of the URI to which applications can be uploaded via http POST. * Clients shall use protocol, hostname and port of the service address since the device may e.g. reside behind NAT translation firewall. */ uploadPath?: AnyURI; /** Optional Event Topic prefix used when delivering app events in eventservice. */ eventTopicPrefix?: string; [key: string]: unknown; } export interface Uninstall { /** App to be uninstalled. Possible failures during deinstallation will be delivered via an event. */ appID: string; } export interface UninstallResponse { } export interface GetAppsInfo { /** Optional ID to only retrieve information for a single application. */ appID?: string; } export interface GetAppsInfoResponse { info?: AppInfo[]; } export interface GetInstalledApps { } export interface App { name: string; appID: string; } export interface GetInstalledAppsResponse { /** List of installed apps providing both user readable name and token. */ app?: App[]; } export interface Activate { /** App identifier. */ appID: string; } export interface ActivateResponse { } export interface Deactivate { /** App identifier. */ appID: string; } export interface DeactivateResponse { } export interface InstallLicense { /** Application the license shall be associated to. */ appID?: string; /** Opaque machine readable license string. */ license: string; } export interface InstallLicenseResponse { } export interface GetServiceCapabilities { } export interface GetServiceCapabilitiesResponse { /** The capabilities of the service. */ capabilities: Capabilities; } export interface GetDeviceId { } export interface GetDeviceIdResponse { deviceId: string; }