// services/device/public/mojom/device_service.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 SERVICES_DEVICE_PUBLIC_MOJOM_DEVICE_SERVICE_MOJOM_TEST_UTILS_H_
#define SERVICES_DEVICE_PUBLIC_MOJOM_DEVICE_SERVICE_MOJOM_TEST_UTILS_H_

#include "services/device/public/mojom/device_service.mojom.h"


namespace device::mojom {


class  DeviceServiceInterceptorForTesting : public DeviceService {
  virtual DeviceService* GetForwardingInterface() = 0;
  void BindFingerprint(::mojo::PendingReceiver<::device::mojom::Fingerprint> receiver) override;
  void BindGeolocationContext(::mojo::PendingReceiver<::device::mojom::GeolocationContext> receiver) override;
  void BindGeolocationControl(::mojo::PendingReceiver<::device::mojom::GeolocationControl> receiver) override;
  void BindGeolocationInternals(::mojo::PendingReceiver<::device::mojom::GeolocationInternals> receiver) override;
  void BindBatteryMonitor(::mojo::PendingReceiver<::device::mojom::BatteryMonitor> receiver) override;
  void BindNFCProvider(::mojo::PendingReceiver<::device::mojom::NFCProvider> receiver) override;
  void BindVibrationManager(::mojo::PendingReceiver<::device::mojom::VibrationManager> receiver, ::mojo::PendingRemote<::device::mojom::VibrationManagerListener> listener) override;
  void BindHidManager(::mojo::PendingReceiver<::device::mojom::HidManager> receiver) override;
  void BindPowerMonitor(::mojo::PendingReceiver<::device::mojom::PowerMonitor> receiver) override;
  void BindPublicIpAddressGeolocationProvider(::mojo::PendingReceiver<::device::mojom::PublicIpAddressGeolocationProvider> receiver) override;
  void BindScreenOrientationListener(::mojo::PendingReceiver<::device::mojom::ScreenOrientationListener> receiver) override;
  void BindSensorProvider(::mojo::PendingReceiver<::device::mojom::SensorProvider> receiver) override;
  void BindSerialPortManager(::mojo::PendingReceiver<::device::mojom::SerialPortManager> receiver) override;
  void BindTimeZoneMonitor(::mojo::PendingReceiver<::device::mojom::TimeZoneMonitor> receiver) override;
  void BindWakeLockProvider(::mojo::PendingReceiver<::device::mojom::WakeLockProvider> receiver) override;
  void BindUsbDeviceManager(::mojo::PendingReceiver<::device::mojom::UsbDeviceManager> receiver) override;
  void BindUsbDeviceManagerTest(::mojo::PendingReceiver<::device::mojom::UsbDeviceManagerTest> receiver) override;
};
class  DeviceServiceAsyncWaiter {
 public:
  explicit DeviceServiceAsyncWaiter(DeviceService* proxy);

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

  ~DeviceServiceAsyncWaiter();

 private:
  DeviceService* const proxy_;
};




}  // device::mojom

#endif  // SERVICES_DEVICE_PUBLIC_MOJOM_DEVICE_SERVICE_MOJOM_TEST_UTILS_H_