lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
60 lines (59 loc) • 2.47 kB
TypeScript
import { IUpdatesProvider, ProviderType } from "./IUpdatesProvider";
import { IUpdateProviderService } from "./UpdateProviderServices/IUpdateProviderService";
export declare class UpdatesProvider implements IUpdatesProvider {
static readonly ServiceName: string;
private _services;
private _runtimeInfo;
private _hardwareInfo;
private _semaphore;
private _isRuntimeInfoInitialized;
private _isHardwareInfoInitialized;
GetServiceName(): string;
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 | undefined): Promise<T[]>;
GetUpdatesProvidersByExtensionAsync<T extends IUpdateProviderService>(extensionGuid: string, updateProviderType: ProviderType, apiVersion?: string | undefined): Promise<T[]>;
GetSoftwareRuntimeInfoAsync(reloadCachedData?: boolean): Promise<SoftwareRuntimeInfo>;
protected GetRuntimeControllerInfoAsync(): Promise<void>;
GetHardwareInfoAsync(reloadCachedData?: boolean): Promise<HardwareInfo>;
protected GetHardwareControllerInfoAsync(): Promise<void>;
}
export declare class SoftwareRuntimeInfo {
BaseLinuxVersion: string;
BaseMonoVersion: string;
RuntimeVersion: string;
UpdateChannel: string;
SoftwareVersion: string;
}
export declare class HardwareInfo {
GetControllerHardwareVersion: number;
DevicePIN: string;
GetControllerSerialNumber: string;
HostnamePrefix: string;
DefaultStaticIpAddress: string;
GetAvailableHardware: Hardware[];
ControllerSecret: string;
}
export declare class Hardware {
HardwareGUID: string;
DevicePath: string;
DisplayName: string;
HardwareSerialNumber: string;
HardwareVersion: number;
SoftwareVersion: number;
Configuration: string;
ControllerSecret: string;
}
export declare class CannotGetRuntimeInfo extends Error {
message: string;
code: CannotGetRuntimeErrorCode;
constructor(message: string, code: CannotGetRuntimeErrorCode);
}
export declare enum CannotGetRuntimeErrorCode {
Unknown = 0,
EmptyResponse = 1,
NoDataInResponse = 2,
WrongResponseStatus = 3,
Timeout = 4
}