1/* 2 * Copyright (c) 2021-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16sequenceable BatteryStatsInfo..OHOS.PowerMgr.ParcelableBatteryStatsList; 17 18interface OHOS.PowerMgr.IBatteryStats { 19 [ipccode 0] void GetBatteryStatsIpc([out] ParcelableBatteryStatsList batteryStats, [out] int tempError); 20 void GetAppStatsMahIpc([in] int uid, [out] double appStatsMah, [out] int tempError); 21 void GetAppStatsPercentIpc([in] int uid, [out] double appStatsPercent, [out] int tempError); 22 void GetPartStatsMahIpc([in] int type, [out] double partStatsMah, [out] int tempError); 23 void GetPartStatsPercentIpc([in] int type, [out] double partStatsPercent, [out] int tempError); 24 void GetTotalTimeSecondIpc([in] int statsType, [in] int uid, [out] unsigned long totalTimeSecond); 25 void GetTotalDataBytesIpc([in] int statsType, [in] int uid, [out] unsigned long totalDataBytes); 26 void ResetIpc(); 27 void SetOnBatteryIpc([in] boolean isOnBattery); 28 void ShellDumpIpc([in] String[] args, [in] unsigned int argc, [out] String dumpShell); 29}