xref: /aosp_15_r20/external/cronet/base/android/scoped_hardware_buffer_fence_sync.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2019 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "base/android/scoped_hardware_buffer_fence_sync.h"
6 
7 #include <utility>
8 
9 namespace base {
10 namespace android {
11 
ScopedHardwareBufferFenceSync(ScopedHardwareBufferHandle handle,ScopedFD fence_fd,ScopedFD available_fence_fd)12 ScopedHardwareBufferFenceSync::ScopedHardwareBufferFenceSync(
13     ScopedHardwareBufferHandle handle,
14     ScopedFD fence_fd,
15     ScopedFD available_fence_fd)
16     : handle_(std::move(handle)),
17       fence_fd_(std::move(fence_fd)),
18       available_fence_fd_(std::move(available_fence_fd)) {}
19 
20 ScopedHardwareBufferFenceSync::~ScopedHardwareBufferFenceSync() = default;
21 
TakeBuffer()22 ScopedHardwareBufferHandle ScopedHardwareBufferFenceSync::TakeBuffer() {
23   return std::move(handle_);
24 }
25 
TakeFence()26 ScopedFD ScopedHardwareBufferFenceSync::TakeFence() {
27   return std::move(fence_fd_);
28 }
29 
TakeAvailableFence()30 ScopedFD ScopedHardwareBufferFenceSync::TakeAvailableFence() {
31   return std::move(available_fence_fd_);
32 }
33 
34 }  // namespace android
35 }  // namespace base
36