summaryrefslogtreecommitdiffstats
path: root/dom/media/fake-cdm/cdm-test-storage.h
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/fake-cdm/cdm-test-storage.h')
-rw-r--r--dom/media/fake-cdm/cdm-test-storage.h45
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__