// services/network/public/mojom/network_context_client.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 SERVICES_NETWORK_PUBLIC_MOJOM_NETWORK_CONTEXT_CLIENT_MOJOM_TEST_UTILS_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_NETWORK_CONTEXT_CLIENT_MOJOM_TEST_UTILS_H_

#include "services/network/public/mojom/network_context_client.mojom.h"


namespace network::mojom {


class  NetworkContextClientInterceptorForTesting : public NetworkContextClient {
  virtual NetworkContextClient* GetForwardingInterface() = 0;
  void OnFileUploadRequested(const ::network::OriginatingProcessId& process_id, bool async, const std::vector<::base::FilePath>& file_paths, const ::GURL& destination_url, OnFileUploadRequestedCallback callback) override;
  void OnCanSendReportingReports(const std::vector<::url::Origin>& origins, OnCanSendReportingReportsCallback callback) override;
  void OnCanSendDomainReliabilityUpload(const ::url::Origin& origin, OnCanSendDomainReliabilityUploadCallback callback) override;
  void OnGenerateHttpNegotiateAuthToken(const std::string& server_auth_token, bool can_delegate, const std::string& auth_negotiate_android_account_type, const std::string& spn, OnGenerateHttpNegotiateAuthTokenCallback callback) override;
  void OnCanSendSCTAuditingReport(OnCanSendSCTAuditingReportCallback callback) override;
  void OnNewSCTAuditingReportSent() override;
};
class  NetworkContextClientAsyncWaiter {
 public:
  explicit NetworkContextClientAsyncWaiter(NetworkContextClient* proxy);

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

  ~NetworkContextClientAsyncWaiter();
  void OnFileUploadRequested(
      const ::network::OriginatingProcessId& process_id, bool async, const std::vector<::base::FilePath>& file_paths, const ::GURL& destination_url, int32_t* out_net_error, std::vector<::base::File>* out_files);
  
  void OnCanSendReportingReports(
      const std::vector<::url::Origin>& origins, std::vector<::url::Origin>* out_origins);
  std::vector<::url::Origin> OnCanSendReportingReports(const std::vector<::url::Origin>& origins);
  void OnCanSendDomainReliabilityUpload(
      const ::url::Origin& origin, bool* out_allowed);
  bool OnCanSendDomainReliabilityUpload(const ::url::Origin& origin);
  void OnGenerateHttpNegotiateAuthToken(
      const std::string& server_auth_token, bool can_delegate, const std::string& auth_negotiate_android_account_type, const std::string& spn, int32_t* out_result, std::string* out_auth_token);
  
  void OnCanSendSCTAuditingReport(
      bool* out_allowed);
  bool OnCanSendSCTAuditingReport();

 private:
  NetworkContextClient* const proxy_;
};




}  // network::mojom

#endif  // SERVICES_NETWORK_PUBLIC_MOJOM_NETWORK_CONTEXT_CLIENT_MOJOM_TEST_UTILS_H_