// third_party/blink/public/mojom/webshare/webshare.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 THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBSHARE_WEBSHARE_MOJOM_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBSHARE_WEBSHARE_MOJOM_TEST_UTILS_H_

#include "third_party/blink/public/mojom/webshare/webshare.mojom.h"
#include "third_party/blink/public/common/common_export.h"


namespace blink::mojom {


class BLINK_COMMON_EXPORT ShareServiceInterceptorForTesting : public ShareService {
  virtual ShareService* GetForwardingInterface() = 0;
  void Share(const std::string& title, const std::string& text, const ::GURL& url, std::vector<SharedFilePtr> files, ShareCallback callback) override;
};
class BLINK_COMMON_EXPORT ShareServiceAsyncWaiter {
 public:
  explicit ShareServiceAsyncWaiter(ShareService* proxy);

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

  ~ShareServiceAsyncWaiter();
  void Share(
      const std::string& title, const std::string& text, const ::GURL& url, std::vector<SharedFilePtr> files, ::blink::mojom::ShareError* out_error);
  ::blink::mojom::ShareError Share(const std::string& title, const std::string& text, const ::GURL& url, std::vector<SharedFilePtr> files);

 private:
  ShareService* const proxy_;
};




}  // blink::mojom

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBSHARE_WEBSHARE_MOJOM_TEST_UTILS_H_