161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit BasicServicesKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { Callback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * This module provides the capability to get systemLoad. 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace systemLoad 2761847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 2861847f8eSopenharmony_ci * @since 12 2961847f8eSopenharmony_ci */ 3061847f8eSopenharmony_cideclare namespace systemLoad { 3161847f8eSopenharmony_ci /** 3261847f8eSopenharmony_ci * Enumerates the {@link SystemLoadLevel} types. 3361847f8eSopenharmony_ci * 3461847f8eSopenharmony_ci * @enum {number} 3561847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 3661847f8eSopenharmony_ci * @since 12 3761847f8eSopenharmony_ci */ 3861847f8eSopenharmony_ci export enum SystemLoadLevel { 3961847f8eSopenharmony_ci /** 4061847f8eSopenharmony_ci * level low 4161847f8eSopenharmony_ci * 4261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 4361847f8eSopenharmony_ci * @since 12 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_ci LOW = 0, 4661847f8eSopenharmony_ci /** 4761847f8eSopenharmony_ci * level NORMAL 4861847f8eSopenharmony_ci * 4961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 5061847f8eSopenharmony_ci * @since 12 5161847f8eSopenharmony_ci */ 5261847f8eSopenharmony_ci NORMAL = 1, 5361847f8eSopenharmony_ci /** 5461847f8eSopenharmony_ci * level MEDIUM 5561847f8eSopenharmony_ci * 5661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 5761847f8eSopenharmony_ci * @since 12 5861847f8eSopenharmony_ci */ 5961847f8eSopenharmony_ci MEDIUM = 2, 6061847f8eSopenharmony_ci /** 6161847f8eSopenharmony_ci * level HIGH 6261847f8eSopenharmony_ci * 6361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 6461847f8eSopenharmony_ci * @since 12 6561847f8eSopenharmony_ci */ 6661847f8eSopenharmony_ci HIGH = 3, 6761847f8eSopenharmony_ci /** 6861847f8eSopenharmony_ci * level OVERHEATED 6961847f8eSopenharmony_ci * 7061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 7161847f8eSopenharmony_ci * @since 12 7261847f8eSopenharmony_ci */ 7361847f8eSopenharmony_ci OVERHEATED = 4, 7461847f8eSopenharmony_ci /** 7561847f8eSopenharmony_ci * level WARNING 7661847f8eSopenharmony_ci * 7761847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 7861847f8eSopenharmony_ci * @since 12 7961847f8eSopenharmony_ci */ 8061847f8eSopenharmony_ci WARNING = 5, 8161847f8eSopenharmony_ci /** 8261847f8eSopenharmony_ci * level EMERGENCY 8361847f8eSopenharmony_ci * 8461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 8561847f8eSopenharmony_ci * @since 12 8661847f8eSopenharmony_ci */ 8761847f8eSopenharmony_ci EMERGENCY = 6, 8861847f8eSopenharmony_ci /** 8961847f8eSopenharmony_ci * level ESCAPE 9061847f8eSopenharmony_ci * 9161847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 9261847f8eSopenharmony_ci * @since 12 9361847f8eSopenharmony_ci */ 9461847f8eSopenharmony_ci ESCAPE = 7 9561847f8eSopenharmony_ci } 9661847f8eSopenharmony_ci 9761847f8eSopenharmony_ci /** 9861847f8eSopenharmony_ci * Register system load callback for perception system load change 9961847f8eSopenharmony_ci * @param { 'systemLoadChange' } type system load change type. 10061847f8eSopenharmony_ci * @param { Callback<SystemLoadLevel> } callback Asynchronous callback interface. 10161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible cause: 1. Callback parameter error; 10261847f8eSopenharmony_ci * <br> 2. Register a exist callback type; 3. Parameter verification failed. 10361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 10461847f8eSopenharmony_ci * @since 12 10561847f8eSopenharmony_ci */ 10661847f8eSopenharmony_ci function on(type: 'systemLoadChange', callback: Callback<SystemLoadLevel>): void; 10761847f8eSopenharmony_ci 10861847f8eSopenharmony_ci /** 10961847f8eSopenharmony_ci * Unregister system load callback for perception system load change 11061847f8eSopenharmony_ci * @param { 'systemLoadChange' } type system load change type. 11161847f8eSopenharmony_ci * @param { Callback<SystemLoadLevel> } callback Asynchronous callback interface. 11261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible cause: 1. Callback parameter error; 11361847f8eSopenharmony_ci * <br> 2. Unregister type has not register; 3. Parameter verification failed. 11461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 11561847f8eSopenharmony_ci * @since 12 11661847f8eSopenharmony_ci */ 11761847f8eSopenharmony_ci function off(type: 'systemLoadChange', callback?: Callback<SystemLoadLevel>): void; 11861847f8eSopenharmony_ci 11961847f8eSopenharmony_ci /** 12061847f8eSopenharmony_ci * @returns { Promise<SystemLoadLevel> } The promise form returns the SystemLoadLevel result 12161847f8eSopenharmony_ci * Queries the current system level 12261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.SystemLoad 12361847f8eSopenharmony_ci * @since 12 12461847f8eSopenharmony_ci */ 12561847f8eSopenharmony_ci function getLevel(): Promise<SystemLoadLevel>; 12661847f8eSopenharmony_ci} 12761847f8eSopenharmony_ciexport default systemLoad;