зеркало из https://github.com/mozilla/gecko-dev.git
93 строки
2.7 KiB
Plaintext
93 строки
2.7 KiB
Plaintext
/* -*- 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/. */
|
|
|
|
include protocol PGMPContent;
|
|
include GMPTypes;
|
|
|
|
using GMPSessionMessageType from "gmp-decryption.h";
|
|
using GMPMediaKeyStatus from "gmp-decryption.h";
|
|
using GMPSessionType from "gmp-decryption.h";
|
|
using GMPDOMException from "gmp-decryption.h";
|
|
using GMPErr from "gmp-errors.h";
|
|
|
|
namespace mozilla {
|
|
namespace gmp {
|
|
|
|
async protocol PGMPDecryptor
|
|
{
|
|
manager PGMPContent;
|
|
child:
|
|
|
|
async Init();
|
|
|
|
async CreateSession(uint32_t aCreateSessionToken,
|
|
uint32_t aPromiseId,
|
|
nsCString aInitDataType,
|
|
uint8_t[] aInitData,
|
|
GMPSessionType aSessionType);
|
|
|
|
async LoadSession(uint32_t aPromiseId,
|
|
nsCString aSessionId);
|
|
|
|
async UpdateSession(uint32_t aPromiseId,
|
|
nsCString aSessionId,
|
|
uint8_t[] aResponse);
|
|
|
|
async CloseSession(uint32_t aPromiseId,
|
|
nsCString aSessionId);
|
|
|
|
async RemoveSession(uint32_t aPromiseId,
|
|
nsCString aSessionId);
|
|
|
|
async SetServerCertificate(uint32_t aPromiseId,
|
|
uint8_t[] aServerCert);
|
|
|
|
async Decrypt(uint32_t aId,
|
|
uint8_t[] aBuffer,
|
|
GMPDecryptionData aMetadata);
|
|
|
|
async DecryptingComplete();
|
|
|
|
parent:
|
|
async __delete__();
|
|
|
|
async SetSessionId(uint32_t aCreateSessionToken,
|
|
nsCString aSessionId);
|
|
|
|
async ResolveLoadSessionPromise(uint32_t aPromiseId,
|
|
bool aSuccess);
|
|
|
|
async ResolvePromise(uint32_t aPromiseId);
|
|
|
|
async RejectPromise(uint32_t aPromiseId,
|
|
GMPDOMException aDOMExceptionCode,
|
|
nsCString aMessage);
|
|
|
|
async SessionMessage(nsCString aSessionId,
|
|
GMPSessionMessageType aMessageType,
|
|
uint8_t[] aMessage);
|
|
|
|
async ExpirationChange(nsCString aSessionId, double aExpiryTime);
|
|
|
|
async SessionClosed(nsCString aSessionId);
|
|
|
|
async SessionError(nsCString aSessionId,
|
|
GMPDOMException aDOMExceptionCode,
|
|
uint32_t aSystemCode,
|
|
nsCString aMessage);
|
|
|
|
async KeyStatusChanged(nsCString aSessionId, uint8_t[] aKey,
|
|
GMPMediaKeyStatus aStatus);
|
|
|
|
async SetCaps(uint64_t aCaps);
|
|
|
|
async Decrypted(uint32_t aId, GMPErr aResult, uint8_t[] aBuffer);
|
|
|
|
async Shutdown();
|
|
};
|
|
|
|
} // namespace gmp
|
|
} // namespace mozilla
|