// chrome/common/offline_page_auto_fetcher.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_OFFLINE_PAGE_AUTO_FETCHER_MOJOM_TEST_UTILS_H_
#define CHROME_COMMON_OFFLINE_PAGE_AUTO_FETCHER_MOJOM_TEST_UTILS_H_

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


namespace chrome::mojom {


class  OfflinePageAutoFetcherInterceptorForTesting : public OfflinePageAutoFetcher {
  virtual OfflinePageAutoFetcher* GetForwardingInterface() = 0;
  void TrySchedule(bool user_requested, TryScheduleCallback callback) override;
  void CancelSchedule() override;
};
class  OfflinePageAutoFetcherAsyncWaiter {
 public:
  explicit OfflinePageAutoFetcherAsyncWaiter(OfflinePageAutoFetcher* proxy);

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

  ~OfflinePageAutoFetcherAsyncWaiter();
  void TrySchedule(
      bool user_requested, OfflinePageAutoFetcherScheduleResult* out_out);
  OfflinePageAutoFetcherScheduleResult TrySchedule(bool user_requested);

 private:
  OfflinePageAutoFetcher* const proxy_;
};




}  // chrome::mojom

#endif  // CHROME_COMMON_OFFLINE_PAGE_AUTO_FETCHER_MOJOM_TEST_UTILS_H_