1c5e268c6Sopenharmony_ci/* 2c5e268c6Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3c5e268c6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c5e268c6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c5e268c6Sopenharmony_ci * You may obtain a copy of the License at 6c5e268c6Sopenharmony_ci * 7c5e268c6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c5e268c6Sopenharmony_ci * 9c5e268c6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c5e268c6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c5e268c6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c5e268c6Sopenharmony_ci * See the License for the specific language governing permissions and 13c5e268c6Sopenharmony_ci * limitations under the License. 14c5e268c6Sopenharmony_ci */ 15c5e268c6Sopenharmony_ci 16c5e268c6Sopenharmony_ci/** 17c5e268c6Sopenharmony_ci * @addtogroup battery 18c5e268c6Sopenharmony_ci * @{ 19c5e268c6Sopenharmony_ci * 20c5e268c6Sopenharmony_ci * @brief Provides APIs for obtaining and subscribing to battery information. 21c5e268c6Sopenharmony_ci * 22c5e268c6Sopenharmony_ci * After obtaining an object or proxy of this module, the battery service can invoke related APIs to obtain and 23c5e268c6Sopenharmony_ci * subscribe to battery information. 24c5e268c6Sopenharmony_ci * 25c5e268c6Sopenharmony_ci * @since 3.1 26c5e268c6Sopenharmony_ci * @version 1.0 27c5e268c6Sopenharmony_ci */ 28c5e268c6Sopenharmony_ci 29c5e268c6Sopenharmony_ci/** 30c5e268c6Sopenharmony_ci * @file IBatteryInterface.idl 31c5e268c6Sopenharmony_ci * 32c5e268c6Sopenharmony_ci * @brief Provides APIs for obtaining and subscribing to battery information. 33c5e268c6Sopenharmony_ci * 34c5e268c6Sopenharmony_ci * After obtaining an object or proxy of this module, the battery service can invoke related APIs to obtain and 35c5e268c6Sopenharmony_ci * subscribe to battery information. 36c5e268c6Sopenharmony_ci * 37c5e268c6Sopenharmony_ci * @since 3.1 38c5e268c6Sopenharmony_ci * @version 1.0 39c5e268c6Sopenharmony_ci */ 40c5e268c6Sopenharmony_cipackage ohos.hdi.battery.v1_0; 41c5e268c6Sopenharmony_ci 42c5e268c6Sopenharmony_ciimport ohos.hdi.battery.v1_0.Types; 43c5e268c6Sopenharmony_ciimport ohos.hdi.battery.v1_0.IBatteryCallback; 44c5e268c6Sopenharmony_ci 45c5e268c6Sopenharmony_ci/** 46c5e268c6Sopenharmony_ci * @brief Represents APIs for obtaining and subscribing to battery information. 47c5e268c6Sopenharmony_ci * 48c5e268c6Sopenharmony_ci * 49c5e268c6Sopenharmony_ci * 50c5e268c6Sopenharmony_ci * @since 3.1 51c5e268c6Sopenharmony_ci */ 52c5e268c6Sopenharmony_ciinterface IBatteryInterface { 53c5e268c6Sopenharmony_ci /** 54c5e268c6Sopenharmony_ci * @brief Registers the callback of battery information. 55c5e268c6Sopenharmony_ci * 56c5e268c6Sopenharmony_ci * @param event Callback to register. 57c5e268c6Sopenharmony_ci * 58c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 59c5e268c6Sopenharmony_ci * 60c5e268c6Sopenharmony_ci * @since 3.1 61c5e268c6Sopenharmony_ci */ 62c5e268c6Sopenharmony_ci Register([in] IBatteryCallback event); 63c5e268c6Sopenharmony_ci 64c5e268c6Sopenharmony_ci /** 65c5e268c6Sopenharmony_ci * @brief Unregisters the callback of battery information. 66c5e268c6Sopenharmony_ci * 67c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 68c5e268c6Sopenharmony_ci * 69c5e268c6Sopenharmony_ci * @since 3.1 70c5e268c6Sopenharmony_ci */ 71c5e268c6Sopenharmony_ci UnRegister(); 72c5e268c6Sopenharmony_ci 73c5e268c6Sopenharmony_ci /** 74c5e268c6Sopenharmony_ci * @brief Sets the path of the battery information node. 75c5e268c6Sopenharmony_ci * 76c5e268c6Sopenharmony_ci * @param path Path of the battery information node. 77c5e268c6Sopenharmony_ci * 78c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 79c5e268c6Sopenharmony_ci * 80c5e268c6Sopenharmony_ci * @since 3.1 81c5e268c6Sopenharmony_ci */ 82c5e268c6Sopenharmony_ci ChangePath([in] String path); 83c5e268c6Sopenharmony_ci 84c5e268c6Sopenharmony_ci /** 85c5e268c6Sopenharmony_ci * @brief Obtains the battery percentage. 86c5e268c6Sopenharmony_ci * 87c5e268c6Sopenharmony_ci * @param capacity Battery percentage. 88c5e268c6Sopenharmony_ci * 89c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 90c5e268c6Sopenharmony_ci * 91c5e268c6Sopenharmony_ci * @since 3.1 92c5e268c6Sopenharmony_ci */ 93c5e268c6Sopenharmony_ci GetCapacity([out] int capacity); 94c5e268c6Sopenharmony_ci 95c5e268c6Sopenharmony_ci /** 96c5e268c6Sopenharmony_ci * @brief Obtains the battery voltage. 97c5e268c6Sopenharmony_ci * 98c5e268c6Sopenharmony_ci * @param voltage Battery voltage, in microvolts. 99c5e268c6Sopenharmony_ci * 100c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 101c5e268c6Sopenharmony_ci * 102c5e268c6Sopenharmony_ci * @since 3.1 103c5e268c6Sopenharmony_ci */ 104c5e268c6Sopenharmony_ci GetVoltage([out] int voltage); 105c5e268c6Sopenharmony_ci 106c5e268c6Sopenharmony_ci /** 107c5e268c6Sopenharmony_ci * @brief Obtains the battery temperature during charging. The unit is 0.1°C. 108c5e268c6Sopenharmony_ci * 109c5e268c6Sopenharmony_ci * @param temperature Battery temperature. 110c5e268c6Sopenharmony_ci * 111c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 112c5e268c6Sopenharmony_ci * 113c5e268c6Sopenharmony_ci * @since 3.1 114c5e268c6Sopenharmony_ci */ 115c5e268c6Sopenharmony_ci GetTemperature([out] int temperature); 116c5e268c6Sopenharmony_ci 117c5e268c6Sopenharmony_ci /** 118c5e268c6Sopenharmony_ci * @brief Obtains the battery health status. 119c5e268c6Sopenharmony_ci * 120c5e268c6Sopenharmony_ci * @param healthState Battery health status. 121c5e268c6Sopenharmony_ci * 122c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 123c5e268c6Sopenharmony_ci * @see BatteryHealthState 124c5e268c6Sopenharmony_ci * 125c5e268c6Sopenharmony_ci * @since 3.1 126c5e268c6Sopenharmony_ci */ 127c5e268c6Sopenharmony_ci GetHealthState([out] enum BatteryHealthState healthState); 128c5e268c6Sopenharmony_ci 129c5e268c6Sopenharmony_ci /** 130c5e268c6Sopenharmony_ci * @brief Obtains the type of the charging device. 131c5e268c6Sopenharmony_ci * 132c5e268c6Sopenharmony_ci * @param pluggedType Type of the charging device. 133c5e268c6Sopenharmony_ci * 134c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 135c5e268c6Sopenharmony_ci * @see BatteryPluggedType 136c5e268c6Sopenharmony_ci * 137c5e268c6Sopenharmony_ci * @since 3.1 138c5e268c6Sopenharmony_ci */ 139c5e268c6Sopenharmony_ci GetPluggedType([out] enum BatteryPluggedType pluggedType); 140c5e268c6Sopenharmony_ci 141c5e268c6Sopenharmony_ci /** 142c5e268c6Sopenharmony_ci * @brief Obtains the charging status. 143c5e268c6Sopenharmony_ci * 144c5e268c6Sopenharmony_ci * @param chargeState Battery charging status. 145c5e268c6Sopenharmony_ci * 146c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 147c5e268c6Sopenharmony_ci * @see BatteryChargeState 148c5e268c6Sopenharmony_ci * 149c5e268c6Sopenharmony_ci * @since 3.1 150c5e268c6Sopenharmony_ci */ 151c5e268c6Sopenharmony_ci GetChargeState([out] enum BatteryChargeState chargeState); 152c5e268c6Sopenharmony_ci 153c5e268c6Sopenharmony_ci /** 154c5e268c6Sopenharmony_ci * @brief Checks whether the battery is supported or present. 155c5e268c6Sopenharmony_ci * 156c5e268c6Sopenharmony_ci * @param present Whether battery is supported or present. The value **true** indicates that the battery is 157c5e268c6Sopenharmony_ci * supported or present, and the value **false** indicates the opposite. 158c5e268c6Sopenharmony_ci * 159c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 160c5e268c6Sopenharmony_ci * 161c5e268c6Sopenharmony_ci * @since 3.1 162c5e268c6Sopenharmony_ci */ 163c5e268c6Sopenharmony_ci GetPresent([out] boolean present); 164c5e268c6Sopenharmony_ci 165c5e268c6Sopenharmony_ci /** 166c5e268c6Sopenharmony_ci * @brief Obtains the battery technology of the current device. 167c5e268c6Sopenharmony_ci * 168c5e268c6Sopenharmony_ci * @param technology Battery technology of the current device. 169c5e268c6Sopenharmony_ci * 170c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 171c5e268c6Sopenharmony_ci * 172c5e268c6Sopenharmony_ci * @since 3.1 173c5e268c6Sopenharmony_ci */ 174c5e268c6Sopenharmony_ci GetTechnology([out] String technology); 175c5e268c6Sopenharmony_ci 176c5e268c6Sopenharmony_ci /** 177c5e268c6Sopenharmony_ci * @brief Obtains the total battery capacity. 178c5e268c6Sopenharmony_ci * 179c5e268c6Sopenharmony_ci * @param totalEnergy Total battery capacity, in mA. 180c5e268c6Sopenharmony_ci * 181c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 182c5e268c6Sopenharmony_ci * 183c5e268c6Sopenharmony_ci * @since 3.1 184c5e268c6Sopenharmony_ci */ 185c5e268c6Sopenharmony_ci GetTotalEnergy([out] int totalEnergy); 186c5e268c6Sopenharmony_ci 187c5e268c6Sopenharmony_ci /** 188c5e268c6Sopenharmony_ci * @brief Obtains the average battery current. 189c5e268c6Sopenharmony_ci * 190c5e268c6Sopenharmony_ci * @param totalEnergy Average battery current, in mA. 191c5e268c6Sopenharmony_ci * 192c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 193c5e268c6Sopenharmony_ci * 194c5e268c6Sopenharmony_ci * @since 3.1 195c5e268c6Sopenharmony_ci */ 196c5e268c6Sopenharmony_ci GetCurrentAverage([out] int curAverage); 197c5e268c6Sopenharmony_ci 198c5e268c6Sopenharmony_ci /** 199c5e268c6Sopenharmony_ci * @brief Obtains the battery current. 200c5e268c6Sopenharmony_ci * 201c5e268c6Sopenharmony_ci * @param curNow Battery current, in mA. 202c5e268c6Sopenharmony_ci * 203c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 204c5e268c6Sopenharmony_ci * 205c5e268c6Sopenharmony_ci * @since 3.1 206c5e268c6Sopenharmony_ci */ 207c5e268c6Sopenharmony_ci GetCurrentNow([out] int curNow); 208c5e268c6Sopenharmony_ci 209c5e268c6Sopenharmony_ci /** 210c5e268c6Sopenharmony_ci * @brief Obtains the remaining battery capacity. 211c5e268c6Sopenharmony_ci * 212c5e268c6Sopenharmony_ci * @param remainEnergy Remaining battery capacity, in mA. 213c5e268c6Sopenharmony_ci * 214c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 215c5e268c6Sopenharmony_ci * 216c5e268c6Sopenharmony_ci * @since 3.1 217c5e268c6Sopenharmony_ci */ 218c5e268c6Sopenharmony_ci GetRemainEnergy([out] int remainEnergy); 219c5e268c6Sopenharmony_ci 220c5e268c6Sopenharmony_ci /** 221c5e268c6Sopenharmony_ci * @brief Obtains all battery information. 222c5e268c6Sopenharmony_ci * 223c5e268c6Sopenharmony_ci * @param info Battery information. 224c5e268c6Sopenharmony_ci * 225c5e268c6Sopenharmony_ci * @return Returns <b>HDF_SUCCESS</b> if the operation is successful. 226c5e268c6Sopenharmony_ci * @see BatteryInfo 227c5e268c6Sopenharmony_ci * 228c5e268c6Sopenharmony_ci * @since 3.1 229c5e268c6Sopenharmony_ci */ 230c5e268c6Sopenharmony_ci GetBatteryInfo([out] struct BatteryInfo info); 231c5e268c6Sopenharmony_ci} 232c5e268c6Sopenharmony_ci/** @} */ 233