@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
56 lines • 3.41 kB
TypeScript
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