| // 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. | 
 |  | 
 | #ifndef SRC_DEVELOPER_DEBUG_DEBUG_AGENT_MOCK_SYSTEM_INTERFACE_H_ | 
 | #define SRC_DEVELOPER_DEBUG_DEBUG_AGENT_MOCK_SYSTEM_INTERFACE_H_ | 
 |  | 
 | #include <memory> | 
 |  | 
 | #include "src/developer/debug/debug_agent/mock_job_handle.h" | 
 | #include "src/developer/debug/debug_agent/mock_limbo_provider.h" | 
 | #include "src/developer/debug/debug_agent/system_interface.h" | 
 |  | 
 | namespace debug_agent { | 
 |  | 
 | class MockSystemInterface final : public SystemInterface { | 
 |  public: | 
 |   explicit MockSystemInterface(MockJobHandle root_job) : root_job_(std::move(root_job)) {} | 
 |  | 
 |   MockLimboProvider& mock_limbo_provider() { return limbo_provider_; } | 
 |  | 
 |   // SystemInterface implementation: | 
 |   uint32_t GetNumCpus() const override { return 2; } | 
 |   uint64_t GetPhysicalMemory() const override { return 1073741824; }  // 1GB | 
 |   std::unique_ptr<JobHandle> GetRootJob() const override; | 
 |   std::unique_ptr<JobHandle> GetComponentRootJob() const override; | 
 |   std::unique_ptr<BinaryLauncher> GetLauncher() const override; | 
 |   std::unique_ptr<ComponentLauncher> GetComponentLauncher() const override; | 
 |   LimboProvider& GetLimboProvider() override { return limbo_provider_; } | 
 |  | 
 |  private: | 
 |   MockJobHandle root_job_; | 
 |   MockLimboProvider limbo_provider_; | 
 | }; | 
 |  | 
 | }  // namespace debug_agent | 
 |  | 
 | #endif  // SRC_DEVELOPER_DEBUG_DEBUG_AGENT_MOCK_SYSTEM_INTERFACE_H_ |