UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

51 lines (50 loc) 1.94 kB
import { IDIService } from "../../IDIService"; import { HardwareInfo, SoftwareRuntimeInfo } from "./UpdatesProvider"; import { IUpdateProviderService } from "./UpdateProviderServices/IUpdateProviderService"; export interface IUpdatesProvider extends IDIService { RegisterUpdatesProvider(service: IUpdateProviderService): void; GetUpdatesProviderAsync<T extends IUpdateProviderService>(serviceName: string): Promise<T>; GetUpdatesProvidersAsync<T extends IUpdateProviderService>(updateProviderType: ProviderType): Promise<T[]>; GetUpdatesProvidersByProtocolAsync<T extends IUpdateProviderService>(protocolGuid: string, updateProviderType: ProviderType, apiVersion?: string): Promise<T[]>; GetUpdatesProvidersByExtensionAsync<T extends IUpdateProviderService>(extensionGuid: string, updateProviderType: ProviderType, apiVersion?: string): Promise<T[]>; GetSoftwareRuntimeInfoAsync(reloadCachedData?: boolean): Promise<SoftwareRuntimeInfo>; GetHardwareInfoAsync(reloadCachedData?: boolean): Promise<HardwareInfo>; } export declare enum ProviderType { Device = 0, Controller = 1 } export declare class Update { UpdateGuid: string; Channel: string; Version: string; CurrentVersion: string; DownloadUri: string; Download: string; Name: string; Description: string; UpdateType: UpdateTypes; ResourceGuid: string; } export declare class UpdateInfo { UpdateDescription: Map<string, string>; Update: Update; UpdatedResourceName: string; CurrentResourceVersion: string; } export declare enum UpdateTypes { Unknown = 0, Container = 1, RadioFirmware = 2, DeviceFirmware = 3, Configuration = 4, ContainerScript = 5, ContainerSoftware = 6, RuntimeSoftware = 7, RuntimeScript = 8, RuntimeFixingScript = 9 } export declare class UpdatesProviderNotFound extends Error { message: string; constructor(message: string); }