ts-onvif
Version:
Client to ONVIF NVT devices
96 lines (95 loc) • 3.23 kB
TypeScript
import { Date, Capabilities } 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 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;
}