152f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk/* 252f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * Copyright 2015 The Android Open Source Project 352f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * 452f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * Licensed under the Apache License, Version 2.0 (the "License"); 552f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * you may not use this file except in compliance with the License. 652f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * You may obtain a copy of the License at 752f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * 852f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * http://www.apache.org/licenses/LICENSE-2.0 952f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * 1052f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * Unless required by applicable law or agreed to in writing, software 1152f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * distributed under the License is distributed on an "AS IS" BASIS, 1252f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1352f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * See the License for the specific language governing permissions and 1452f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk * limitations under the License. 1552f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk */ 1652f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 1752f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk#ifndef ANDROID_I_PROCESS_INFO_SERVICE_H 1852f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk#define ANDROID_I_PROCESS_INFO_SERVICE_H 1952f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 2052f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk#include <binder/IInterface.h> 2152f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 2252f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunknamespace android { 2352f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 2452f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk// ---------------------------------------------------------------------- 2552f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 2652f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunkclass IProcessInfoService : public IInterface { 2752f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunkpublic: 2817576de056a57753eb4af797545db88ef4f81ef0Colin Cross DECLARE_META_INTERFACE(ProcessInfoService) 2952f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 3052f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk virtual status_t getProcessStatesFromPids( size_t length, 3152f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk /*in*/ int32_t* pids, 3252f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk /*out*/ int32_t* states) = 0; 3352f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 34c72a90a335556be566628e1b0a76b3bd818498b4Chong Zhang virtual status_t getProcessStatesAndOomScoresFromPids( size_t length, 35c72a90a335556be566628e1b0a76b3bd818498b4Chong Zhang /*in*/ int32_t* pids, 36c72a90a335556be566628e1b0a76b3bd818498b4Chong Zhang /*out*/ int32_t* states, 37c72a90a335556be566628e1b0a76b3bd818498b4Chong Zhang /*out*/ int32_t* scores) = 0; 38c72a90a335556be566628e1b0a76b3bd818498b4Chong Zhang 3952f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk enum { 4052f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk GET_PROCESS_STATES_FROM_PIDS = IBinder::FIRST_CALL_TRANSACTION, 41c72a90a335556be566628e1b0a76b3bd818498b4Chong Zhang GET_PROCESS_STATES_AND_OOM_SCORES_FROM_PIDS, 4252f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk }; 4352f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk}; 4452f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 4552f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk// ---------------------------------------------------------------------- 4652f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 4752f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk}; // namespace android 4852f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk 4952f0407d6871c43d1e6502ec6754d5811c86ed82Ruben Brunk#endif // ANDROID_I_PROCESS_INFO_SERVICE_H 50