// services/network/public/mojom/restricted_cookie_manager.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_RESTRICTED_COOKIE_MANAGER_MOJOM_TEST_UTILS_H_
#define SERVICES_NETWORK_PUBLIC_MOJOM_RESTRICTED_COOKIE_MANAGER_MOJOM_TEST_UTILS_H_

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


namespace network::mojom {


class  RestrictedCookieManagerInterceptorForTesting : public RestrictedCookieManager {
  virtual RestrictedCookieManager* GetForwardingInterface() = 0;
  void GetAllForUrl(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, CookieManagerGetOptionsPtr options, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, GetAllForUrlCallback callback) override;
  void SetCanonicalCookie(RestrictedCanonicalCookieParamsPtr canonical_cookie_params, const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides, SetCanonicalCookieCallback callback) override;
  void AddChangeListener(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, ::mojo::PendingRemote<::network::mojom::CookieChangeListener> listener, AddChangeListenerCallback callback) override;
  void SetCookieFromString(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides, const std::string& cookie) override;
  void GetCookiesString(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool get_version_shared_memory, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, GetCookiesStringCallback callback) override;
  void CookiesEnabledFor(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool apply_devtools_overrides, CookiesEnabledForCallback callback) override;
};
class  RestrictedCookieManagerAsyncWaiter {
 public:
  explicit RestrictedCookieManagerAsyncWaiter(RestrictedCookieManager* proxy);

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

  ~RestrictedCookieManagerAsyncWaiter();
  void GetAllForUrl(
      const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, CookieManagerGetOptionsPtr options, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, std::vector<::net::CookieWithAccessResult>* out_cookies);
  std::vector<::net::CookieWithAccessResult> GetAllForUrl(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, CookieManagerGetOptionsPtr options, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies);
  void SetCanonicalCookie(
      RestrictedCanonicalCookieParamsPtr canonical_cookie_params, const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides, bool* out_success);
  bool SetCanonicalCookie(RestrictedCanonicalCookieParamsPtr canonical_cookie_params, const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool is_ad_tagged, bool apply_devtools_overrides);
  void AddChangeListener(
      const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, ::mojo::PendingRemote<::network::mojom::CookieChangeListener> listener);
  
  void GetCookiesString(
      const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool get_version_shared_memory, bool is_ad_tagged, bool apply_devtools_overrides, bool force_disable_third_party_cookies, uint64_t* out_version, ::base::ReadOnlySharedMemoryRegion* out_version_buffer, std::string* out_cookies);
  
  void CookiesEnabledFor(
      const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool apply_devtools_overrides, bool* out_cookies_enabled);
  bool CookiesEnabledFor(const ::GURL& url, const ::net::SiteForCookies& site_for_cookies, const ::url::Origin& top_frame_origin, ::net::StorageAccessApiStatus storage_access_api_status, bool apply_devtools_overrides);

 private:
  RestrictedCookieManager* const proxy_;
};




}  // network::mojom

#endif  // SERVICES_NETWORK_PUBLIC_MOJOM_RESTRICTED_COOKIE_MANAGER_MOJOM_TEST_UTILS_H_