// media/mojo/mojom/cdm_document_service.mojom-blink-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_DOCUMENT_SERVICE_MOJOM_BLINK_TEST_UTILS_H_
#define MEDIA_MOJO_MOJOM_CDM_DOCUMENT_SERVICE_MOJOM_BLINK_TEST_UTILS_H_

#include "media/mojo/mojom/cdm_document_service.mojom-blink.h"
#include "third_party/blink/public/platform/web_common.h"


namespace media::mojom::blink {


class BLINK_PLATFORM_EXPORT CdmDocumentServiceInterceptorForTesting : public CdmDocumentService {
  virtual CdmDocumentService* GetForwardingInterface() = 0;
  void ChallengePlatform(const ::blink::String& service_id, const ::blink::String& challenge, ChallengePlatformCallback callback) override;
  void GetStorageId(uint32_t version, GetStorageIdCallback callback) override;
};
class BLINK_PLATFORM_EXPORT CdmDocumentServiceAsyncWaiter {
 public:
  explicit CdmDocumentServiceAsyncWaiter(CdmDocumentService* proxy);

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

  ~CdmDocumentServiceAsyncWaiter();
  void ChallengePlatform(
      const ::blink::String& service_id, const ::blink::String& challenge, bool* out_success, ::blink::String* out_signed_data, ::blink::String* out_signed_data_signature, ::blink::String* out_platform_key_certificate);
  
  void GetStorageId(
      uint32_t version, uint32_t* out_version, ::blink::Vector<uint8_t>* out_storage_id);
  

 private:
  CdmDocumentService* const proxy_;
};




}  // media::mojom::blink

#endif  // MEDIA_MOJO_MOJOM_CDM_DOCUMENT_SERVICE_MOJOM_BLINK_TEST_UTILS_H_