// content/common/child_process.mojom-test-utils.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONTENT_COMMON_CHILD_PROCESS_MOJOM_TEST_UTILS_H_
#define CONTENT_COMMON_CHILD_PROCESS_MOJOM_TEST_UTILS_H_

#include "content/common/child_process.mojom.h"
#include "content/common/content_export.h"


namespace content::mojom {


class CONTENT_EXPORT ChildProcessHostInterceptorForTesting : public ChildProcessHost {
  virtual ChildProcessHost* GetForwardingInterface() = 0;
  void Ping(PingCallback callback) override;
  void BindHostReceiver(::mojo::GenericPendingReceiver receiver) override;
  void BindHostReceivers(std::vector<::mojo::GenericPendingReceiver> receivers) override;
};
class CONTENT_EXPORT ChildProcessHostAsyncWaiter {
 public:
  explicit ChildProcessHostAsyncWaiter(ChildProcessHost* proxy);

  ChildProcessHostAsyncWaiter(const ChildProcessHostAsyncWaiter&) = delete;
  ChildProcessHostAsyncWaiter& operator=(const ChildProcessHostAsyncWaiter&) = delete;

  ~ChildProcessHostAsyncWaiter();
  void Ping(
      );
  

 private:
  ChildProcessHost* const proxy_;
};


class CONTENT_EXPORT ChildProcessInterceptorForTesting : public ChildProcess {
  virtual ChildProcess* GetForwardingInterface() = 0;
  void ProcessShutdown() override;
  void GetBackgroundTracingAgentProvider(::mojo::PendingReceiver<::tracing::mojom::BackgroundTracingAgentProvider> receiver) override;
  void CrashHungProcess() override;
  void BindServiceInterface(::mojo::GenericPendingReceiver receiver) override;
  void BindReceiver(::mojo::GenericPendingReceiver receiver) override;
  void OnMemoryPressure(::base::MemoryPressureLevel memory_pressure_level) override;
  void SetBatterySaverMode(bool battery_saver_mode_enabled) override;
};
class CONTENT_EXPORT ChildProcessAsyncWaiter {
 public:
  explicit ChildProcessAsyncWaiter(ChildProcess* proxy);

  ChildProcessAsyncWaiter(const ChildProcessAsyncWaiter&) = delete;
  ChildProcessAsyncWaiter& operator=(const ChildProcessAsyncWaiter&) = delete;

  ~ChildProcessAsyncWaiter();

 private:
  ChildProcess* const proxy_;
};




}  // content::mojom

#endif  // CONTENT_COMMON_CHILD_PROCESS_MOJOM_TEST_UTILS_H_