| // Copyright (c) 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef MEDIA_CDM_MOCK_HELPERS_H_ |
| #define MEDIA_CDM_MOCK_HELPERS_H_ |
| |
| #include <stdint.h> |
| |
| #include <memory> |
| #include <string> |
| |
| #include "base/callback.h" |
| #include "base/macros.h" |
| #include "build/build_config.h" |
| #include "media/cdm/cdm_allocator.h" |
| #include "media/cdm/cdm_auxiliary_helper.h" |
| #include "media/cdm/cdm_helpers.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| |
| namespace media { |
| |
| class MockCdmAuxiliaryHelper : public CdmAuxiliaryHelper { |
| public: |
| // `allocator` is optional; can be null if no need to create buffers/frames. |
| explicit MockCdmAuxiliaryHelper(std::unique_ptr<CdmAllocator> allocator); |
| |
| MockCdmAuxiliaryHelper(const MockCdmAuxiliaryHelper&) = delete; |
| MockCdmAuxiliaryHelper& operator=(const MockCdmAuxiliaryHelper&) = delete; |
| |
| ~MockCdmAuxiliaryHelper() override; |
| |
| // CdmAuxiliaryHelper implementation. |
| void SetFileReadCB(FileReadCB file_read_cb) override; |
| MOCK_METHOD1(CreateCdmFileIO, cdm::FileIO*(cdm::FileIOClient* client)); |
| |
| cdm::Buffer* CreateCdmBuffer(size_t capacity) override; |
| std::unique_ptr<VideoFrameImpl> CreateCdmVideoFrame() override; |
| |
| // Trampoline methods to workaround GMOCK problems with std::unique_ptr<> |
| // parameters. |
| MOCK_METHOD0(QueryStatusCalled, bool()); |
| void QueryStatus(QueryStatusCB callback) override; |
| |
| MOCK_METHOD1(EnableProtectionCalled, bool(uint32_t desired_protection_mask)); |
| void EnableProtection(uint32_t desired_protection_mask, |
| EnableProtectionCB callback) override; |
| |
| MOCK_METHOD2(ChallengePlatformCalled, |
| bool(const std::string& service_id, |
| const std::string& challenge)); |
| void ChallengePlatform(const std::string& service_id, |
| const std::string& challenge, |
| ChallengePlatformCB callback) override; |
| |
| MOCK_METHOD1(GetStorageIdCalled, std::vector<uint8_t>(uint32_t version)); |
| void GetStorageId(uint32_t version, StorageIdCB callback) override; |
| |
| #if defined(OS_WIN) |
| MOCK_METHOD(void, |
| GetMediaFoundationCdmData, |
| (GetMediaFoundationCdmDataCB callback), |
| (override)); |
| #endif // defined(OS_WIN) |
| |
| private: |
| std::unique_ptr<CdmAllocator> allocator_; |
| }; |
| |
| } // namespace media |
| |
| #endif // MEDIA_CDM_MOCK_HELPERS_H_ |