| /* |
| * Copyright 2017 The Chromium OS Authors. All rights reserved. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include <utility> |
| |
| #include "common/camera_algorithm_callback_ops_impl.h" |
| |
| #include "cros-camera/common.h" |
| |
| namespace cros { |
| |
| CameraAlgorithmCallbackOpsImpl::CameraAlgorithmCallbackOpsImpl( |
| scoped_refptr<base::SingleThreadTaskRunner> ipc_task_runner, |
| const camera_algorithm_callback_ops_t* callback_ops) |
| : binding_(this), |
| ipc_task_runner_(std::move(ipc_task_runner)), |
| callback_ops_(callback_ops) {} |
| |
| void CameraAlgorithmCallbackOpsImpl::Return(uint32_t req_id, |
| uint32_t status, |
| int32_t buffer_handle) { |
| DCHECK(ipc_task_runner_->BelongsToCurrentThread()); |
| DCHECK(callback_ops_); |
| DCHECK(callback_ops_->return_callback); |
| VLOGF_ENTER(); |
| callback_ops_->return_callback(callback_ops_, req_id, status, buffer_handle); |
| VLOGF_EXIT(); |
| } |
| |
| mojom::CameraAlgorithmCallbackOpsPtr |
| CameraAlgorithmCallbackOpsImpl::CreateInterfacePtr() { |
| DCHECK(ipc_task_runner_->BelongsToCurrentThread()); |
| mojom::CameraAlgorithmCallbackOpsPtr interface_ptr; |
| binding_.Bind(mojo::MakeRequest(&interface_ptr)); |
| return interface_ptr; |
| } |
| |
| } // namespace cros |