mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-08 00:07:30 +09:00
If EME isn't built, these functions would have no use and the callback structures are unavailable. Stubbing these out will still allow the callers to work unchanged, but in effect simply always return without dispatching a promised task. This fixes the dependency issue from part 2a.
70 lines
2.2 KiB
C++
70 lines
2.2 KiB
C++
/* -*- 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 GMPDecryptorProxy_h_
|
|
#define GMPDecryptorProxy_h_
|
|
|
|
#ifdef MOZ_EME
|
|
#include "mozilla/DecryptorProxyCallback.h"
|
|
#endif
|
|
#include "GMPCallbackBase.h"
|
|
#include "gmp-decryption.h"
|
|
#include "nsString.h"
|
|
|
|
namespace mozilla {
|
|
class CryptoSample;
|
|
} // namespace mozilla
|
|
|
|
#ifdef MOZ_EME
|
|
class GMPDecryptorProxyCallback : public DecryptorProxyCallback,
|
|
public GMPCallbackBase {
|
|
#else
|
|
class GMPDecryptorProxyCallback : public GMPCallbackBase {
|
|
#endif
|
|
|
|
public:
|
|
virtual ~GMPDecryptorProxyCallback() {}
|
|
};
|
|
|
|
class GMPDecryptorProxy {
|
|
public:
|
|
~GMPDecryptorProxy() {}
|
|
|
|
virtual uint32_t GetPluginId() const = 0;
|
|
|
|
virtual nsresult Init(GMPDecryptorProxyCallback* aCallback,
|
|
bool aDistinctiveIdentifierRequired,
|
|
bool aPersistentStateRequired) = 0;
|
|
|
|
virtual void CreateSession(uint32_t aCreateSessionToken,
|
|
uint32_t aPromiseId,
|
|
const nsCString& aInitDataType,
|
|
const nsTArray<uint8_t>& aInitData,
|
|
GMPSessionType aSessionType) = 0;
|
|
|
|
virtual void LoadSession(uint32_t aPromiseId,
|
|
const nsCString& aSessionId) = 0;
|
|
|
|
virtual void UpdateSession(uint32_t aPromiseId,
|
|
const nsCString& aSessionId,
|
|
const nsTArray<uint8_t>& aResponse) = 0;
|
|
|
|
virtual void CloseSession(uint32_t aPromiseId,
|
|
const nsCString& aSessionId) = 0;
|
|
|
|
virtual void RemoveSession(uint32_t aPromiseId,
|
|
const nsCString& aSessionId) = 0;
|
|
|
|
virtual void SetServerCertificate(uint32_t aPromiseId,
|
|
const nsTArray<uint8_t>& aServerCert) = 0;
|
|
|
|
virtual void Decrypt(uint32_t aId,
|
|
const mozilla::CryptoSample& aCrypto,
|
|
const nsTArray<uint8_t>& aBuffer) = 0;
|
|
|
|
virtual void Close() = 0;
|
|
};
|
|
|
|
#endif // GMPDecryptorProxy_h_
|