Source code

Revision control

Copy as Markdown

Other Tools

header = """/* 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/. */"""
autogen_warning = """/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen. See RunCbindgen.py */
"""
include_guard = "mozilla_dom_MlsGkFFI_h"
include_version = true
braces = "SameLine"
line_length = 100
tab_width = 2
language = "C++"
includes = ["nsStringFwd.h", "nsTArrayForwardDeclare.h"]
# Put FFI calls in the `mozilla::security::mls` namespace.
namespaces = ["mozilla", "security", "mls"]
[enum]
derive_const_casts = true
derive_tagged_enum_destructor = true
cast_assert_name = "MOZ_DIAGNOSTIC_ASSERT"
[export.body]
"GkReceived" = """
GkReceived() : tag(Tag::None) {}
GkReceived(GkReceived&& other) : tag(other.tag) {
switch (tag) {
case Tag::ApplicationMessage:
new (&application_message) ApplicationMessage_Body(std::move(other.application_message));
break;
case Tag::GroupIdEpoch:
new (&group_id_epoch) GroupIdEpoch_Body(std::move(other.group_id_epoch));
break;
case Tag::CommitOutput:
new (&commit_output) CommitOutput_Body(std::move(other.commit_output));
break;
case Tag::None:
break;
}
}
"""
# Export `ThinVec` references as `nsTArray`.
[export.rename]
"ThinVec" = "nsTArray"