// chrome/common/network_diagnostics.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_NETWORK_DIAGNOSTICS_MOJOM_TEST_UTILS_H_
#define CHROME_COMMON_NETWORK_DIAGNOSTICS_MOJOM_TEST_UTILS_H_

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


namespace chrome::mojom {


class  NetworkDiagnosticsInterceptorForTesting : public NetworkDiagnostics {
  virtual NetworkDiagnostics* GetForwardingInterface() = 0;
  void RunNetworkDiagnostics(const ::GURL& failed_url) override;
};
class  NetworkDiagnosticsAsyncWaiter {
 public:
  explicit NetworkDiagnosticsAsyncWaiter(NetworkDiagnostics* proxy);

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

  ~NetworkDiagnosticsAsyncWaiter();

 private:
  NetworkDiagnostics* const proxy_;
};


class  NetworkDiagnosticsClientInterceptorForTesting : public NetworkDiagnosticsClient {
  virtual NetworkDiagnosticsClient* GetForwardingInterface() = 0;
  void SetCanShowNetworkDiagnosticsDialog(bool can_show) override;
  void DNSProbeStatus(int32_t status) override;
};
class  NetworkDiagnosticsClientAsyncWaiter {
 public:
  explicit NetworkDiagnosticsClientAsyncWaiter(NetworkDiagnosticsClient* proxy);

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

  ~NetworkDiagnosticsClientAsyncWaiter();

 private:
  NetworkDiagnosticsClient* const proxy_;
};




}  // chrome::mojom

#endif  // CHROME_COMMON_NETWORK_DIAGNOSTICS_MOJOM_TEST_UTILS_H_