PMLSTransaction.ipdl (3449B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 include protocol PBackground; 6 using struct mozilla::security::mls::GkGroupIdEpoch from "mozilla/dom/MLSTransactionMessage.h"; 7 using struct mozilla::security::mls::GkMlsCommitOutput from "mozilla/dom/MLSTransactionMessage.h"; 8 using struct mozilla::security::mls::GkGroupDetails from "mozilla/dom/MLSTransactionMessage.h"; 9 using struct mozilla::security::mls::GkExporterOutput from "mozilla/dom/MLSTransactionMessage.h"; 10 using struct mozilla::security::mls::GkReceived from "mozilla/dom/MLSTransactionMessage.h"; 11 12 namespace mozilla { 13 namespace dom { 14 15 /* This type exists because we cannot write uint8_t[]? */ 16 struct RawBytes { 17 uint8_t[] data; 18 }; 19 20 [ChildProc=anydom] 21 async protocol PMLSTransaction 22 { 23 parent: 24 async RequestStateDelete() returns (bool result); 25 async RequestGroupStateDelete(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkGroupIdEpoch? result); 26 async RequestGenerateIdentityKeypair() returns (RawBytes? result); 27 async RequestGenerateCredentialBasic(uint8_t[] credName) returns (RawBytes? result); 28 async RequestGenerateKeyPackage(uint8_t[] identity, uint8_t[] credential) returns (RawBytes? result); 29 async RequestGroupCreate(uint8_t[] identifier, uint8_t[] credential, uint8_t[] inOptGroupIdentifier) returns (GkGroupIdEpoch? result); 30 async RequestGroupJoin(uint8_t[] identifier, uint8_t[] welcome) returns (GkGroupIdEpoch? result); 31 async RequestGroupAdd(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] keyPackage) returns (GkMlsCommitOutput? result); 32 async RequestGroupProposeAdd(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] keyPackage) returns (RawBytes? result); 33 async RequestGroupRemove(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] remIdentifier) returns (GkMlsCommitOutput? result); 34 async RequestGroupProposeRemove(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] remIdentifier) returns (RawBytes? result); 35 async RequestGroupClose(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkMlsCommitOutput? result); 36 async RequestGroupDetails(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkGroupDetails? result); 37 async RequestSend(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] message) returns (RawBytes? result); 38 async RequestReceive(uint8_t[] identifier, uint8_t[] message) returns (GkReceived result); 39 async RequestHasPendingProposals(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result); 40 async RequestClearPendingProposals(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result); 41 async RequestHasPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result); 42 async RequestClearPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (bool result); 43 async RequestApplyPendingCommit(uint8_t[] groupIdentifier, uint8_t[] identifier) returns (GkReceived result); 44 async RequestExportSecret(uint8_t[] groupIdentifier, uint8_t[] identifier, uint8_t[] label, uint8_t[] content, uint64_t len) returns (GkExporterOutput? result); 45 async RequestGetGroupIdentifier(uint8_t[] message) returns (RawBytes? result); 46 async RequestGetGroupEpoch(uint8_t[] message) returns (RawBytes? result); 47 }; 48 49 } // namespace dom 50 } // namespace mozilla