50 lines
3.4 KiB
Text
50 lines
3.4 KiB
Text
/* 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 PBackground;
|
|
using struct mozilla::security::mls::GkGroupIdEpoch from "mozilla/dom/MLSTransactionMessage.h";
|
|
using struct mozilla::security::mls::GkMlsCommitOutput from "mozilla/dom/MLSTransactionMessage.h";
|
|
using struct mozilla::security::mls::GkGroupDetails from "mozilla/dom/MLSTransactionMessage.h";
|
|
using struct mozilla::security::mls::GkExporterOutput from "mozilla/dom/MLSTransactionMessage.h";
|
|
using struct mozilla::security::mls::GkReceived from "mozilla/dom/MLSTransactionMessage.h";
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
/* This type exists because we cannot write uint8_t[]? */
|
|
struct RawBytes {
|
|
uint8_t[] data;
|
|
};
|
|
|
|
[ChildProc=anydom]
|
|
async protocol PMLSTransaction
|
|
{
|
|
parent:
|
|
async RequestStateDelete() returns (bool result);
|
|
async RequestGroupStateDelete(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkGroupIdEpoch? result);
|
|
async RequestGenerateIdentityKeypair() returns (RawBytes? result);
|
|
async RequestGenerateCredentialBasic(uint8_t[] credName) returns (RawBytes? result);
|
|
async RequestGenerateKeyPackage(uint8_t[] identity, uint8_t[] credential) returns (RawBytes? result);
|
|
async RequestGroupCreate(uint8_t[] identifier, uint8_t[] credential, uint8_t[] inOptGroupIdentifier) returns (GkGroupIdEpoch? result);
|
|
async RequestGroupJoin(uint8_t[] identifier, uint8_t[] welcome) returns (GkGroupIdEpoch? result);
|
|
async RequestGroupAdd(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] keyPackage) returns (GkMlsCommitOutput? result);
|
|
async RequestGroupProposeAdd(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] keyPackage) returns (RawBytes? result);
|
|
async RequestGroupRemove(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] remIdentifier) returns (GkMlsCommitOutput? result);
|
|
async RequestGroupProposeRemove(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] remIdentifier) returns (RawBytes? result);
|
|
async RequestGroupClose(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkMlsCommitOutput? result);
|
|
async RequestGroupDetails(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkGroupDetails? result);
|
|
async RequestSend(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] message) returns (RawBytes? result);
|
|
async RequestReceive(uint8_t[] identifier, uint8_t[] message) returns (GkReceived result);
|
|
async RequestHasPendingProposals(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
|
|
async RequestClearPendingProposals(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
|
|
async RequestHasPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
|
|
async RequestClearPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result);
|
|
async RequestApplyPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkReceived result);
|
|
async RequestExportSecret(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] label, uint8_t[] content, uint64_t len) returns (GkExporterOutput? result);
|
|
async RequestGetGroupIdentifier(uint8_t[] message) returns (RawBytes? result);
|
|
async RequestGetGroupEpoch(uint8_t[] message) returns (RawBytes? result);
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|