diff options
Diffstat (limited to 'dom/media/fake-cdm/cdm-test-storage.h')
-rw-r--r-- | dom/media/fake-cdm/cdm-test-storage.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dom/media/fake-cdm/cdm-test-storage.h b/dom/media/fake-cdm/cdm-test-storage.h new file mode 100644 index 0000000000..2c95cca6b5 --- /dev/null +++ b/dom/media/fake-cdm/cdm-test-storage.h @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef TEST_CDM_STORAGE_H__ +#define TEST_CDM_STORAGE_H__ + +#include <functional> +#include <string> +#include <cstdint> +#include "content_decryption_module.h" + +#define IO_SUCCEEDED(x) ((x) == cdm::FileIOClient::Status::kSuccess) +#define IO_FAILED(x) ((x) != cdm::FileIOClient::Status::kSuccess) + +class ReadContinuation { + public: + virtual ~ReadContinuation() = default; + virtual void operator()(bool aSuccess, const uint8_t* aData, + uint32_t aDataSize) = 0; +}; + +void WriteRecord(cdm::Host_10* aHost, const std::string& aRecordName, + const std::string& aData, std::function<void()>&& aOnSuccess, + std::function<void()>&& aOnFailure); + +void WriteRecord(cdm::Host_10* aHost, const std::string& aRecordName, + const uint8_t* aData, uint32_t aNumBytes, + std::function<void()>&& aOnSuccess, + std::function<void()>&& aOnFailure); + +void ReadRecord( + cdm::Host_10* aHost, const std::string& aRecordName, + std::function<void(bool, const uint8_t*, uint32_t)>&& aOnReadComplete); + +class OpenContinuation { + public: + virtual ~OpenContinuation() = default; + virtual void operator()(bool aSuccess) = 0; +}; + +void OpenRecord(cdm::Host_10* aHost, const std::string& aRecordName, + std::function<void(bool)>&& aOpenComplete); +#endif // TEST_CDM_STORAGE_H__ |