// third_party/blink/public/mojom/webnn/webnn_introspection.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_WEBNN_WEBNN_INTROSPECTION_MOJOM_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBNN_WEBNN_INTROSPECTION_MOJOM_TEST_UTILS_H_

#include "third_party/blink/public/mojom/webnn/webnn_introspection.mojom.h"


namespace blink::mojom {


class  WebNNIntrospectionClientInterceptorForTesting : public WebNNIntrospectionClient {
  virtual WebNNIntrospectionClient* GetForwardingInterface() = 0;
};
class  WebNNIntrospectionClientAsyncWaiter {
 public:
  explicit WebNNIntrospectionClientAsyncWaiter(WebNNIntrospectionClient* proxy);

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

  ~WebNNIntrospectionClientAsyncWaiter();

 private:
  WebNNIntrospectionClient* const proxy_;
};


class  WebNNIntrospectionInterceptorForTesting : public WebNNIntrospection {
  virtual WebNNIntrospection* GetForwardingInterface() = 0;
};
class  WebNNIntrospectionAsyncWaiter {
 public:
  explicit WebNNIntrospectionAsyncWaiter(WebNNIntrospection* proxy);

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

  ~WebNNIntrospectionAsyncWaiter();

 private:
  WebNNIntrospection* const proxy_;
};




}  // blink::mojom

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBNN_WEBNN_INTROSPECTION_MOJOM_TEST_UTILS_H_