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"