/* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.thermal@1.0; interface IThermal { /** * Retrieves temperatures in Celsius. * * @return status Status of the operation. If status code is FAILURE, * the status.debugMessage must be populated with the human-readable * error message. * @return temperatures If status code is SUCCESS, it's filled with the * current temperatures. The order of temperatures of built-in * devices (such as CPUs, GPUs and etc.) in the list must be kept * the same regardless the number of calls to this method even if * they go offline, if these devices exist on boot. The method * always returns and never removes such temperatures. * */ @callflow(next={"*"}) @entry @exit getTemperatures() generates (ThermalStatus status, vec<Temperature> temperatures); /** * Retrieves CPU usage information of each core: active and total times * in ms since first boot. * * @return status Status of the operation. If status code is FAILURE, * the status.debugMessage must be populated with the human-readable * error message. * @return cpuUsages If status code is SUCCESS, it's filled with the current * CPU usages. The order and number of CPUs in the list must be kept * the same regardless the number of calls to this method. * */ @callflow(next={"*"}) @entry @exit getCpuUsages() generates (ThermalStatus status, vec<CpuUsage> cpuUsages); /** * Retrieves the cooling devices information. * * @return status Status of the operation. If status code is FAILURE, * the status.debugMessage must be populated with the human-readable * error message. * @return devices If status code is SUCCESS, it's filled with the current * cooling device information. The order of built-in cooling * devices in the list must be kept the same regardless the number * of calls to this method even if they go offline, if these devices * exist on boot. The method always returns and never removes from * the list such cooling devices. * */ @callflow(next={"*"}) @entry @exit getCoolingDevices() generates (ThermalStatus status, vec<CoolingDevice> devices); };