// media/mojo/mojom/cdm_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 MEDIA_MOJO_MOJOM_CDM_SERVICE_MOJOM_TEST_UTILS_H_
#define MEDIA_MOJO_MOJOM_CDM_SERVICE_MOJOM_TEST_UTILS_H_

#include "media/mojo/mojom/cdm_service.mojom.h"


namespace media::mojom {


class  CdmServiceInterceptorForTesting : public CdmService {
  virtual CdmService* GetForwardingInterface() = 0;
  void CreateCdmFactory(::mojo::PendingReceiver<::media::mojom::CdmFactory> factory, ::mojo::PendingRemote<::media::mojom::FrameInterfaceFactory> frame_interfaces) override;
};
class  CdmServiceAsyncWaiter {
 public:
  explicit CdmServiceAsyncWaiter(CdmService* proxy);

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

  ~CdmServiceAsyncWaiter();

 private:
  CdmService* const proxy_;
};


class  CdmServiceBrokerInterceptorForTesting : public CdmServiceBroker {
  virtual CdmServiceBroker* GetForwardingInterface() = 0;
  void GetService(const ::base::FilePath& cdm_path, ::mojo::PendingReceiver<CdmService> receiver) override;
};
class  CdmServiceBrokerAsyncWaiter {
 public:
  explicit CdmServiceBrokerAsyncWaiter(CdmServiceBroker* proxy);

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

  ~CdmServiceBrokerAsyncWaiter();

 private:
  CdmServiceBroker* const proxy_;
};




}  // media::mojom

#endif  // MEDIA_MOJO_MOJOM_CDM_SERVICE_MOJOM_TEST_UTILS_H_