// services/audio/public/mojom/audio_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_AUDIO_PUBLIC_MOJOM_AUDIO_SERVICE_MOJOM_TEST_UTILS_H_
#define SERVICES_AUDIO_PUBLIC_MOJOM_AUDIO_SERVICE_MOJOM_TEST_UTILS_H_

#include "services/audio/public/mojom/audio_service.mojom.h"


namespace audio::mojom {


class  AudioServiceInterceptorForTesting : public AudioService {
  virtual AudioService* GetForwardingInterface() = 0;
  void BindSystemInfo(::mojo::PendingReceiver<::audio::mojom::SystemInfo> receiver) override;
  void BindDebugRecording(::mojo::PendingReceiver<::audio::mojom::DebugRecording> receiver) override;
  void BindStreamFactory(::mojo::PendingReceiver<::media::mojom::AudioStreamFactory> receiver) override;
  void BindDeviceNotifier(::mojo::PendingReceiver<::audio::mojom::DeviceNotifier> receiver) override;
  void BindLogFactoryManager(::mojo::PendingReceiver<::audio::mojom::LogFactoryManager> receiver) override;
  void BindTestingApi(::mojo::PendingReceiver<::audio::mojom::TestingApi> receiver) override;
  void BindMlModelManager(::mojo::PendingReceiver<::audio::mojom::MlModelManager> receiver) override;
};
class  AudioServiceAsyncWaiter {
 public:
  explicit AudioServiceAsyncWaiter(AudioService* proxy);

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

  ~AudioServiceAsyncWaiter();

 private:
  AudioService* const proxy_;
};




}  // audio::mojom

#endif  // SERVICES_AUDIO_PUBLIC_MOJOM_AUDIO_SERVICE_MOJOM_TEST_UTILS_H_