UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

56 lines 3.41 kB
import { IManagedObject, InventoryService, IOperation, IResultList, OperationService } from '@c8y/client'; import { AlertService } from '@c8y/ngx-components'; import { ComparisonResult, DeviceProfile } from './device-profile.model'; import * as i0 from "@angular/core"; export declare class DeviceProfileService { private inventoryService; private operationService; private alertService; readonly dateFrom: Date; readonly dateTo: Date; private queriesUtil; private NOT_INSTALLED_WARNING; private VERSION_MISSMATCH_WARNING; private SAME_URL_WARNING; constructor(inventoryService: InventoryService, operationService: OperationService, alertService: AlertService); createDeviceProfile(deviceProfile: Partial<DeviceProfile>): Promise<import("@c8y/client").IResult<IManagedObject>>; /** * Determines the available device profiles for a given device by considering device type * and the supported software types declared by the devices. Because of limitations in the * Inventory Query API the methods return profile that contain at least one of the supported * software types and omits profiles having only non-supported software types. Resulting device * profiles need to be further filtered on the client side to exclude the ones that contain * non-supported software types next to the supported ones. * * @param device A device MO * @param name Optional device profile name filter * @returns Candidate device profiles that contain at least on software with supported type. */ getDeviceProfilesByDevice(device: IManagedObject, name?: string): Promise<IResultList<IManagedObject>>; /** * @deprecated Use `getDeviceProfilesByDevice` instead as it also considers the supported software types. */ getDeviceProfilesByDeviceType(deviceType: string): Promise<IResultList<IManagedObject>>; getDeviceProfiles(andQuery?: any): Promise<IResultList<IManagedObject>>; getProfileOperation(deviceId: string | number): Promise<IOperation>; createProfileOperation(device: IManagedObject, deviceProfile: Partial<DeviceProfile>): Promise<any>; getFirmwareItems(device: IManagedObject, selectedProfile: Partial<DeviceProfile>): ComparisonResult[]; getSoftwareItems(device: IManagedObject, selectedProfile: Partial<DeviceProfile>): ComparisonResult[]; getConfigurationItems(device: IManagedObject, selectedProfile: Partial<DeviceProfile>): ComparisonResult[]; /** * Aligns device profile managed object's `softwareType!*` fragments to the software items * included in the device profile. Removes obsolete software type fragments and adds new. * * @param profilePartial The device profile managed object which `softwareType!*` fragments will be adjusted. * @returns The adjusted device profile managed object. */ alignSoftwareTypeFragments(profilePartial: Partial<DeviceProfile>, profile: DeviceProfile): Partial<DeviceProfile>; getSoftwareTypes(profile: DeviceProfile): string[]; private getAlert; private createProfileComparison; private createProfileComparisonFromDeviceItems; private extendProfileComparisonWithProfileItems; static ɵfac: i0.ɵɵFactoryDeclaration<DeviceProfileService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<DeviceProfileService>; } //# sourceMappingURL=device-profile.service.d.ts.map