summaryrefslogtreecommitdiff
path: root/media/gmp-clearkey/0.1/ClearKeyStorage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/gmp-clearkey/0.1/ClearKeyStorage.cpp')
-rw-r--r--media/gmp-clearkey/0.1/ClearKeyStorage.cpp194
1 files changed, 0 insertions, 194 deletions
diff --git a/media/gmp-clearkey/0.1/ClearKeyStorage.cpp b/media/gmp-clearkey/0.1/ClearKeyStorage.cpp
deleted file mode 100644
index 0db51c9b7e..0000000000
--- a/media/gmp-clearkey/0.1/ClearKeyStorage.cpp
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright 2015, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ClearKeyStorage.h"
-#include "ClearKeyUtils.h"
-
-#include "gmp-task-utils.h"
-
-#include <assert.h>
-#include "ArrayUtils.h"
-
-#include <vector>
-
-static GMPErr
-RunOnMainThread(GMPTask* aTask)
-{
- return GetPlatform()->runonmainthread(aTask);
-}
-
-GMPErr
-OpenRecord(const char* aName,
- uint32_t aNameLength,
- GMPRecord** aOutRecord,
- GMPRecordClient* aClient)
-{
- return GetPlatform()->createrecord(aName, aNameLength, aOutRecord, aClient);
-}
-
-class WriteRecordClient : public GMPRecordClient {
-public:
- /*
- * This function will take the memory ownership of the parameters and
- * delete them when done.
- */
- static void Write(const std::string& aRecordName,
- const std::vector<uint8_t>& aData,
- GMPTask* aOnSuccess,
- GMPTask* aOnFailure) {
- (new WriteRecordClient(aData, aOnSuccess, aOnFailure))->Do(aRecordName);
- }
-
- virtual void OpenComplete(GMPErr aStatus) override {
- if (GMP_FAILED(aStatus) ||
- GMP_FAILED(mRecord->Write(&mData.front(), mData.size()))) {
- Done(mOnFailure, mOnSuccess);
- }
- }
-
- virtual void ReadComplete(GMPErr aStatus,
- const uint8_t* aData,
- uint32_t aDataSize) override {
- assert(false); // Should not reach here.
- }
-
- virtual void WriteComplete(GMPErr aStatus) override {
- if (GMP_FAILED(aStatus)) {
- Done(mOnFailure, mOnSuccess);
- } else {
- Done(mOnSuccess, mOnFailure);
- }
- }
-
-private:
- WriteRecordClient(const std::vector<uint8_t>& aData,
- GMPTask* aOnSuccess,
- GMPTask* aOnFailure)
- : mRecord(nullptr)
- , mOnSuccess(aOnSuccess)
- , mOnFailure(aOnFailure)
- , mData(aData) {}
-
- void Do(const std::string& aName) {
- auto err = OpenRecord(aName.c_str(), aName.size(), &mRecord, this);
- if (GMP_FAILED(err) ||
- GMP_FAILED(mRecord->Open())) {
- Done(mOnFailure, mOnSuccess);
- }
- }
-
- void Done(GMPTask* aToRun, GMPTask* aToDestroy) {
- // Note: Call Close() before running continuation, in case the
- // continuation tries to open the same record; if we call Close()
- // after running the continuation, the Close() call will arrive
- // just after the Open() call succeeds, immediately closing the
- // record we just opened.
- if (mRecord) {
- mRecord->Close();
- }
- aToDestroy->Destroy();
- RunOnMainThread(aToRun);
- delete this;
- }
-
- GMPRecord* mRecord;
- GMPTask* mOnSuccess;
- GMPTask* mOnFailure;
- const std::vector<uint8_t> mData;
-};
-
-void
-StoreData(const std::string& aRecordName,
- const std::vector<uint8_t>& aData,
- GMPTask* aOnSuccess,
- GMPTask* aOnFailure)
-{
- WriteRecordClient::Write(aRecordName, aData, aOnSuccess, aOnFailure);
-}
-
-class ReadRecordClient : public GMPRecordClient {
-public:
- /*
- * This function will take the memory ownership of the parameters and
- * delete them when done.
- */
- static void Read(const std::string& aRecordName,
- ReadContinuation* aContinuation) {
- assert(aContinuation);
- (new ReadRecordClient(aContinuation))->Do(aRecordName);
- }
-
- virtual void OpenComplete(GMPErr aStatus) override {
- auto err = aStatus;
- if (GMP_FAILED(err) ||
- GMP_FAILED(err = mRecord->Read())) {
- Done(err, nullptr, 0);
- }
- }
-
- virtual void ReadComplete(GMPErr aStatus,
- const uint8_t* aData,
- uint32_t aDataSize) override {
- Done(aStatus, aData, aDataSize);
- }
-
- virtual void WriteComplete(GMPErr aStatus) override {
- assert(false); // Should not reach here.
- }
-
-private:
- explicit ReadRecordClient(ReadContinuation* aContinuation)
- : mRecord(nullptr)
- , mContinuation(aContinuation) {}
-
- void Do(const std::string& aName) {
- auto err = OpenRecord(aName.c_str(), aName.size(), &mRecord, this);
- if (GMP_FAILED(err) ||
- GMP_FAILED(err = mRecord->Open())) {
- Done(err, nullptr, 0);
- }
- }
-
- void Done(GMPErr err, const uint8_t* aData, uint32_t aDataSize) {
- // Note: Call Close() before running continuation, in case the
- // continuation tries to open the same record; if we call Close()
- // after running the continuation, the Close() call will arrive
- // just after the Open() call succeeds, immediately closing the
- // record we just opened.
- if (mRecord) {
- mRecord->Close();
- }
- mContinuation->ReadComplete(err, aData, aDataSize);
- delete mContinuation;
- delete this;
- }
-
- GMPRecord* mRecord;
- ReadContinuation* mContinuation;
-};
-
-void
-ReadData(const std::string& aRecordName,
- ReadContinuation* aContinuation)
-{
- ReadRecordClient::Read(aRecordName, aContinuation);
-}
-
-GMPErr
-EnumRecordNames(RecvGMPRecordIteratorPtr aRecvIteratorFunc)
-{
- return GetPlatform()->getrecordenumerator(aRecvIteratorFunc, nullptr);
-}