197b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi/* 297b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * Copyright (C) 2016 The Android Open Source Project 397b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * 497b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * Licensed under the Apache License, Version 2.0 (the "License"); 597b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * you may not use this file except in compliance with the License. 697b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * You may obtain a copy of the License at 797b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * 897b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * http://www.apache.org/licenses/LICENSE-2.0 997b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * 1097b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * Unless required by applicable law or agreed to in writing, software 1197b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * distributed under the License is distributed on an "AS IS" BASIS, 1297b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1397b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * See the License for the specific language governing permissions and 1497b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi * limitations under the License. 1597b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi */ 1697b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 17d6e4f03acf5fa1e76b75e33af7a26f248a92be9aSteven Moreland#ifndef ANDROID_HARDWARE_MEMTRACK_V1_0_MEMTRACK_H 18d6e4f03acf5fa1e76b75e33af7a26f248a92be9aSteven Moreland#define ANDROID_HARDWARE_MEMTRACK_V1_0_MEMTRACK_H 1997b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 2097b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi#include <android/hardware/memtrack/1.0/IMemtrack.h> 2197b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi#include <hidl/Status.h> 2297b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 2397b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi#include <hidl/MQDescriptor.h> 2497b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoinamespace android { 2597b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoinamespace hardware { 2697b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoinamespace memtrack { 2797b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoinamespace V1_0 { 2897b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoinamespace implementation { 2997b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 3097b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::memtrack::V1_0::IMemtrack; 3197b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::memtrack::V1_0::MemtrackRecord; 3297b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::memtrack::V1_0::MemtrackStatus; 3397b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::memtrack::V1_0::MemtrackType; 3497b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::Return; 3597b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::Void; 3697b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::hidl_vec; 3797b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::hardware::hidl_string; 3897b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiusing ::android::sp; 3997b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 4097b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoistruct Memtrack : public IMemtrack { 4156dfb756b87ad4974eef07b7815767c07d807eadConnor O'Brien Memtrack(const memtrack_module_t* module); 4297b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi ~Memtrack(); 4397b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi Return<void> getMemory(int32_t pid, MemtrackType type, getMemory_cb _hidl_cb) override; 4497b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 4597b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi private: 4656dfb756b87ad4974eef07b7815767c07d807eadConnor O'Brien const memtrack_module_t* mModule; 4797b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi}; 4897b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 4997b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoiextern "C" IMemtrack* HIDL_FETCH_IMemtrack(const char* name); 5097b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 5197b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi} // namespace implementation 5297b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi} // namespace V1_0 5397b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi} // namespace memtrack 5497b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi} // namespace hardware 5597b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi} // namespace android 5697b2f250880468ad8c7ed370a420d2f6ba904c6dRuchi Kandoi 57d6e4f03acf5fa1e76b75e33af7a26f248a92be9aSteven Moreland#endif // ANDROID_HARDWARE_MEMTRACK_V1_0_MEMTRACK_H 58