// components/services/patch/public/mojom/file_patcher.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 COMPONENTS_SERVICES_PATCH_PUBLIC_MOJOM_FILE_PATCHER_MOJOM_TEST_UTILS_H_
#define COMPONENTS_SERVICES_PATCH_PUBLIC_MOJOM_FILE_PATCHER_MOJOM_TEST_UTILS_H_

#include "components/services/patch/public/mojom/file_patcher.mojom.h"


namespace patch::mojom {


class  FilePatcherInterceptorForTesting : public FilePatcher {
  virtual FilePatcher* GetForwardingInterface() = 0;
  void PatchFilePuffPatch(::base::File input_file, ::base::File patch_file, ::base::File output_file, PatchFilePuffPatchCallback callback) override;
  void PatchFileZucchini(::base::File input_file, ::base::File patch_file, ::base::File output_file, PatchFileZucchiniCallback callback) override;
};
class  FilePatcherAsyncWaiter {
 public:
  explicit FilePatcherAsyncWaiter(FilePatcher* proxy);

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

  ~FilePatcherAsyncWaiter();
  void PatchFilePuffPatch(
      ::base::File input_file, ::base::File patch_file, ::base::File output_file, int32_t* out_result);
  int32_t PatchFilePuffPatch(::base::File input_file, ::base::File patch_file, ::base::File output_file);
  void PatchFileZucchini(
      ::base::File input_file, ::base::File patch_file, ::base::File output_file, zucchini::status::Code* out_result);
  zucchini::status::Code PatchFileZucchini(::base::File input_file, ::base::File patch_file, ::base::File output_file);

 private:
  FilePatcher* const proxy_;
};




}  // patch::mojom

#endif  // COMPONENTS_SERVICES_PATCH_PUBLIC_MOJOM_FILE_PATCHER_MOJOM_TEST_UTILS_H_