// content/browser/process_internals/process_internals.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_BROWSER_PROCESS_INTERNALS_PROCESS_INTERNALS_MOJOM_TEST_UTILS_H_
#define CONTENT_BROWSER_PROCESS_INTERNALS_PROCESS_INTERNALS_MOJOM_TEST_UTILS_H_

#include "content/browser/process_internals/process_internals.mojom.h"


namespace mojom {


class  ProcessInternalsHandlerInterceptorForTesting : public ProcessInternalsHandler {
  virtual ProcessInternalsHandler* GetForwardingInterface() = 0;
  void GetProcessCountInfo(GetProcessCountInfoCallback callback) override;
  void GetIsolationMode(GetIsolationModeCallback callback) override;
  void GetProcessPerSiteMode(GetProcessPerSiteModeCallback callback) override;
  void GetUserTriggeredIsolatedOrigins(GetUserTriggeredIsolatedOriginsCallback callback) override;
  void GetWebTriggeredIsolatedOrigins(GetWebTriggeredIsolatedOriginsCallback callback) override;
  void GetGloballyIsolatedOrigins(GetGloballyIsolatedOriginsCallback callback) override;
  void GetAllWebContentsInfo(GetAllWebContentsInfoCallback callback) override;
};
class  ProcessInternalsHandlerAsyncWaiter {
 public:
  explicit ProcessInternalsHandlerAsyncWaiter(ProcessInternalsHandler* proxy);

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

  ~ProcessInternalsHandlerAsyncWaiter();
  void GetProcessCountInfo(
      ProcessCountInfoPtr* out_info);
  ProcessCountInfoPtr GetProcessCountInfo();
  void GetIsolationMode(
      std::string* out_mode);
  std::string GetIsolationMode();
  void GetProcessPerSiteMode(
      std::string* out_mode);
  std::string GetProcessPerSiteMode();
  void GetUserTriggeredIsolatedOrigins(
      std::vector<std::string>* out_isolated_origins);
  std::vector<std::string> GetUserTriggeredIsolatedOrigins();
  void GetWebTriggeredIsolatedOrigins(
      std::vector<std::string>* out_isolated_origins);
  std::vector<std::string> GetWebTriggeredIsolatedOrigins();
  void GetGloballyIsolatedOrigins(
      std::vector<IsolatedOriginInfoPtr>* out_isolated_origins);
  std::vector<IsolatedOriginInfoPtr> GetGloballyIsolatedOrigins();
  void GetAllWebContentsInfo(
      std::vector<WebContentsInfoPtr>* out_infos);
  std::vector<WebContentsInfoPtr> GetAllWebContentsInfo();

 private:
  ProcessInternalsHandler* const proxy_;
};




}  // mojom

#endif  // CONTENT_BROWSER_PROCESS_INTERNALS_PROCESS_INTERNALS_MOJOM_TEST_UTILS_H_