// chrome/common/renderer_configuration.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 CHROME_COMMON_RENDERER_CONFIGURATION_MOJOM_TEST_UTILS_H_
#define CHROME_COMMON_RENDERER_CONFIGURATION_MOJOM_TEST_UTILS_H_

#include "chrome/common/renderer_configuration.mojom.h"


namespace chrome::mojom {


class  BoundSessionRequestThrottledHandlerInterceptorForTesting : public BoundSessionRequestThrottledHandler {
  virtual BoundSessionRequestThrottledHandler* GetForwardingInterface() = 0;
};
class  BoundSessionRequestThrottledHandlerAsyncWaiter {
 public:
  explicit BoundSessionRequestThrottledHandlerAsyncWaiter(BoundSessionRequestThrottledHandler* proxy);

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

  ~BoundSessionRequestThrottledHandlerAsyncWaiter();

 private:
  BoundSessionRequestThrottledHandler* const proxy_;
};


class  ChromeOSListenerInterceptorForTesting : public ChromeOSListener {
  virtual ChromeOSListener* GetForwardingInterface() = 0;
};
class  ChromeOSListenerAsyncWaiter {
 public:
  explicit ChromeOSListenerAsyncWaiter(ChromeOSListener* proxy);

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

  ~ChromeOSListenerAsyncWaiter();

 private:
  ChromeOSListener* const proxy_;
};


class  RendererConfigurationInterceptorForTesting : public RendererConfiguration {
  virtual RendererConfiguration* GetForwardingInterface() = 0;
  void SetInitialConfiguration(bool is_incognito_process, ::mojo::PendingReceiver<ChromeOSListener> chromeos_listener, ::mojo::PendingRemote<::content_settings::mojom::ContentSettingsManager> content_settings_manager, ::mojo::PendingRemote<BoundSessionRequestThrottledHandler> bound_session_request_throttled_handler) override;
  void SetConfiguration(DynamicParamsPtr params) override;
};
class  RendererConfigurationAsyncWaiter {
 public:
  explicit RendererConfigurationAsyncWaiter(RendererConfiguration* proxy);

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

  ~RendererConfigurationAsyncWaiter();

 private:
  RendererConfiguration* const proxy_;
};




}  // chrome::mojom

#endif  // CHROME_COMMON_RENDERER_CONFIGURATION_MOJOM_TEST_UTILS_H_