diff options
-rw-r--r-- | include/memtrack/memtrack.h | 27 | ||||
-rw-r--r-- | memtrack.cpp | 10 |
2 files changed, 37 insertions, 0 deletions
diff --git a/include/memtrack/memtrack.h b/include/memtrack/memtrack.h index 2134a6f..91dd8c8 100644 --- a/include/memtrack/memtrack.h +++ b/include/memtrack/memtrack.h @@ -129,6 +129,33 @@ ssize_t memtrack_proc_other_total(struct memtrack_proc *p); */ ssize_t memtrack_proc_other_pss(struct memtrack_proc *p); +/** + * class DeviceInfo + * + * Contains the device id and name. + */ +namespace aidl { +namespace android { +namespace hardware { +namespace memtrack { + +class DeviceInfo; + +} // namespace memtrack +} // namespace hardware +} // namespace android +} // namespace aidl + +/** + * memtrack_gpu_device_info + * + * Populates the @device_info vector with the DeviceInfo for all GPU devices. + * + * Returns true on success and false otherwise. + */ +bool memtrack_gpu_device_info( + std::vector<aidl::android::hardware::memtrack::DeviceInfo>* device_info); + #ifdef __cplusplus } #endif diff --git a/memtrack.cpp b/memtrack.cpp index 807a5c3..297d8ce 100644 --- a/memtrack.cpp +++ b/memtrack.cpp @@ -104,6 +104,16 @@ static std::shared_ptr<V_aidl::IMemtrack> get_aidl_instance() { return V_aidl::IMemtrack::fromBinder(memtrack_binder); } +bool memtrack_gpu_device_info(std::vector<V_aidl::DeviceInfo>* device_info) { + std::shared_ptr<V_aidl::IMemtrack> service = get_aidl_instance(); + if (!service) { + return false; + } + + auto status = service->getGpuDeviceInfo(device_info); + return status.isOk(); +} + memtrack_proc *memtrack_proc_new(void) { return new memtrack_proc(); |