// third_party/blink/public/mojom/payments/payment_app.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_PAYMENTS_PAYMENT_APP_MOJOM_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_APP_MOJOM_TEST_UTILS_H_

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


namespace payments::mojom {


class BLINK_COMMON_EXPORT PaymentManagerInterceptorForTesting : public PaymentManager {
  virtual PaymentManager* GetForwardingInterface() = 0;
  void Init(const ::GURL& context_url, const std::string& service_worker_scope) override;
  void SetUserHint(const std::string& user_hint) override;
  void EnableDelegations(const std::vector<PaymentDelegation>& delegations, EnableDelegationsCallback callback) override;
};
class BLINK_COMMON_EXPORT PaymentManagerAsyncWaiter {
 public:
  explicit PaymentManagerAsyncWaiter(PaymentManager* proxy);

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

  ~PaymentManagerAsyncWaiter();
  void EnableDelegations(
      const std::vector<PaymentDelegation>& delegations, PaymentHandlerStatus* out_status);
  PaymentHandlerStatus EnableDelegations(const std::vector<PaymentDelegation>& delegations);

 private:
  PaymentManager* const proxy_;
};




}  // payments::mojom

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_APP_MOJOM_TEST_UTILS_H_