diff options
Diffstat (limited to 'gralloc4/src/hidl_common/RegisteredHandlePool.cpp')
-rw-r--r-- | gralloc4/src/hidl_common/RegisteredHandlePool.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gralloc4/src/hidl_common/RegisteredHandlePool.cpp b/gralloc4/src/hidl_common/RegisteredHandlePool.cpp index b598d8a..3c99e4f 100644 --- a/gralloc4/src/hidl_common/RegisteredHandlePool.cpp +++ b/gralloc4/src/hidl_common/RegisteredHandlePool.cpp @@ -24,9 +24,9 @@ bool RegisteredHandlePool::add(buffer_handle_t bufferHandle) return bufPool.insert(bufferHandle).second; } -native_handle_t* RegisteredHandlePool::remove(void* buffer) +native_handle_t* RegisteredHandlePool::remove(buffer_handle_t buffer) { - auto bufferHandle = static_cast<native_handle_t*>(buffer); + auto bufferHandle = const_cast<native_handle_t*>(buffer); std::lock_guard<std::mutex> lock(mutex); return bufPool.erase(bufferHandle) == 1 ? bufferHandle : nullptr; @@ -40,8 +40,13 @@ buffer_handle_t RegisteredHandlePool::get(const void* buffer) return bufPool.count(bufferHandle) == 1 ? bufferHandle : nullptr; } +bool RegisteredHandlePool::isRegistered(buffer_handle_t buffer) +{ + return (bufPool.find(buffer) != bufPool.end()); +} + void RegisteredHandlePool::for_each(std::function<void(const buffer_handle_t &)> fn) { std::lock_guard<std::mutex> lock(mutex); std::for_each(bufPool.begin(), bufPool.end(), fn); -}
\ No newline at end of file +} |