// services/network/public/mojom/devtools_observer.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_DEVTOOLS_OBSERVER_MOJOM_TEST_UTILS_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_DEVTOOLS_OBSERVER_MOJOM_TEST_UTILS_H_

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


namespace network::mojom {


class  DevToolsObserverInterceptorForTesting : public DevToolsObserver {
  virtual DevToolsObserver* GetForwardingInterface() = 0;
  void OnRawRequest(const std::string& devtool_request_id, const std::vector<::net::CookieWithAccessResult>& cookies_with_access_result, std::vector<::network::mojom::HttpRawHeaderPairPtr> headers, ::base::TimeTicks timestamp, std::vector<::network::mojom::DeviceBoundSessionWithUsagePtr> device_bound_session_usages, ::network::mojom::ClientSecurityStatePtr client_security_state, OtherPartitionInfoPtr other_partition_info, const std::optional<::base::UnguessableToken>& applied_network_conditions_id) override;
  void OnRawResponse(const std::string& devtool_request_id, const std::vector<::net::CookieAndLineWithAccessResult>& cookies_with_access_result, std::vector<::network::mojom::HttpRawHeaderPairPtr> headers, const std::optional<std::string>& raw_response_headers, ::network::mojom::IPAddressSpace resource_address_space, int32_t http_status_code, const std::optional<::net::CookiePartitionKey>& cookie_partition_key) override;
  void OnEarlyHintsResponse(const std::string& devtool_request_id, std::vector<::network::mojom::HttpRawHeaderPairPtr> headers) override;
  void OnLocalNetworkRequest(const std::optional<std::string>& devtool_request_id, const ::GURL& url, bool is_warning, ::network::mojom::IPAddressSpace resource_address_space, ::network::mojom::ClientSecurityStatePtr client_security_state) override;
  void OnCorsPreflightRequest(const ::base::UnguessableToken& devtool_request_id, const ::net::HttpRequestHeaders& request_headers, URLRequestDevToolsInfoPtr request_info, const ::GURL& initiator_url, const std::string& initiator_devtool_request_id) override;
  void OnCorsPreflightResponse(const ::base::UnguessableToken& devtool_request_id, const ::GURL& url, URLResponseHeadDevToolsInfoPtr head) override;
  void OnCorsPreflightRequestCompleted(const ::base::UnguessableToken& devtool_request_id, const ::network::URLLoaderCompletionStatus& status) override;
  void OnTrustTokenOperationDone(const std::string& devtool_request_id, ::network::mojom::TrustTokenOperationResultPtr result) override;
  void OnCorsError(const std::optional<std::string>& devtool_request_id, const std::optional<::url::Origin>& initiator_origin, ::network::mojom::ClientSecurityStatePtr client_security_state, const ::GURL& url, const ::network::CorsErrorStatus& status, bool is_warning) override;
  void OnOrbError(const std::optional<std::string>& devtools_request_id, const ::GURL& url) override;
  void OnSharedDictionaryError(const std::string& devtool_request_id, const ::GURL& url, ::network::mojom::SharedDictionaryError error) override;
  void OnSRIMessageSignatureIssue(const std::string& devtool_request_id, const ::GURL& url, std::vector<::network::mojom::SRIMessageSignatureIssuePtr> issues) override;
  void OnUnencodedDigestError(const std::string& devtool_request_id, const ::GURL& url, ::network::mojom::UnencodedDigestIssue issue) override;
  void OnConnectionAllowlistIssue(const std::string& devtool_request_id, const ::GURL& url, ::network::mojom::ConnectionAllowlistIssue issue) override;
  void Clone(::mojo::PendingReceiver<DevToolsObserver> listener) override;
};
class  DevToolsObserverAsyncWaiter {
 public:
  explicit DevToolsObserverAsyncWaiter(DevToolsObserver* proxy);

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

  ~DevToolsObserverAsyncWaiter();

 private:
  DevToolsObserver* const proxy_;
};




}  // network::mojom

#endif  // SERVICES_NETWORK_PUBLIC_MOJOM_DEVTOOLS_OBSERVER_MOJOM_TEST_UTILS_H_