// services/network/public/mojom/proxy_config_with_annotation.mojom-blink-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 SERVICES_NETWORK_PUBLIC_MOJOM_PROXY_CONFIG_WITH_ANNOTATION_MOJOM_BLINK_TEST_UTILS_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_PROXY_CONFIG_WITH_ANNOTATION_MOJOM_BLINK_TEST_UTILS_H_

#include "services/network/public/mojom/proxy_config_with_annotation.mojom-blink.h"


namespace network::mojom::blink {


class  ProxyConfigClientInterceptorForTesting : public ProxyConfigClient {
  virtual ProxyConfigClient* GetForwardingInterface() = 0;
  void OnProxyConfigUpdated(ProxyConfigWithAnnotationPtr proxy_config) override;
  void FlushProxyConfig(FlushProxyConfigCallback callback) override;
};
class  ProxyConfigClientAsyncWaiter {
 public:
  explicit ProxyConfigClientAsyncWaiter(ProxyConfigClient* proxy);

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

  ~ProxyConfigClientAsyncWaiter();
  void FlushProxyConfig(
      );
  

 private:
  ProxyConfigClient* const proxy_;
};


class  ProxyConfigPollerClientInterceptorForTesting : public ProxyConfigPollerClient {
  virtual ProxyConfigPollerClient* GetForwardingInterface() = 0;
  void OnLazyProxyConfigPoll() override;
};
class  ProxyConfigPollerClientAsyncWaiter {
 public:
  explicit ProxyConfigPollerClientAsyncWaiter(ProxyConfigPollerClient* proxy);

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

  ~ProxyConfigPollerClientAsyncWaiter();

 private:
  ProxyConfigPollerClient* const proxy_;
};


class  ProxyErrorClientInterceptorForTesting : public ProxyErrorClient {
  virtual ProxyErrorClient* GetForwardingInterface() = 0;
  void OnPACScriptError(int32_t line_number, const ::blink::String& details) override;
  void OnRequestMaybeFailedDueToProxySettings(int32_t net_error) override;
};
class  ProxyErrorClientAsyncWaiter {
 public:
  explicit ProxyErrorClientAsyncWaiter(ProxyErrorClient* proxy);

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

  ~ProxyErrorClientAsyncWaiter();

 private:
  ProxyErrorClient* const proxy_;
};




}  // network::mojom::blink

#endif  // SERVICES_NETWORK_PUBLIC_MOJOM_PROXY_CONFIG_WITH_ANNOTATION_MOJOM_BLINK_TEST_UTILS_H_