| // Copyright 2020 The Fuchsia 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 "src/developer/debug/debug_agent/mock_job_handle.h" | |
| #include "src/developer/debug/debug_agent/mock_process_handle.h" | |
| namespace debug_agent { | |
| zx::job MockJobHandle::null_handle_; | |
| MockJobHandle::MockJobHandle(zx_koid_t koid, std::string name) | |
| : job_koid_(koid), name_(std::move(name)) { | |
| // Tests could accidentally write to this handle since it's returned as a mutable value in some | |
| // cases. Catch accidents like that. | |
| FX_DCHECK(!null_handle_); | |
| } | |
| std::unique_ptr<JobHandle> MockJobHandle::Duplicate() const { | |
| return std::make_unique<MockJobHandle>(*this); | |
| } | |
| std::vector<std::unique_ptr<JobHandle>> MockJobHandle::GetChildJobs() const { | |
| // Need to return a unique set of objects every time so make copies. | |
| std::vector<std::unique_ptr<JobHandle>> result; | |
| for (auto& job : child_jobs_) | |
| result.push_back(std::make_unique<MockJobHandle>(job)); | |
| return result; | |
| } | |
| std::vector<std::unique_ptr<ProcessHandle>> MockJobHandle::GetChildProcesses() const { | |
| // Need to return a unique set of objects every time so make copies. | |
| std::vector<std::unique_ptr<ProcessHandle>> result; | |
| for (auto& process : child_processes_) | |
| result.push_back(std::make_unique<MockProcessHandle>(process)); | |
| return result; | |
| } | |
| } // namespace debug_agent |