| Index: mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl
|
| diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl
|
| deleted file mode 100644
|
| index c9bdaedd19f9eccc7271d0026a0dd442cac1994f..0000000000000000000000000000000000000000
|
| --- a/mojo/public/tools/bindings/generators/cpp_templates/union_definition.tmpl
|
| +++ /dev/null
|
| @@ -1,106 +0,0 @@
|
| -{%- import "validation_macros.tmpl" as validation_macros %}
|
| -{%- set class_name = union.name ~ "_Data" %}
|
| -{%- set enum_name = union.name ~ "_Tag" -%}
|
| -
|
| -// static
|
| -{{class_name}}* {{class_name}}::New(mojo::internal::Buffer* buf) {
|
| - return new (buf->Allocate(sizeof({{class_name}}))) {{class_name}}();
|
| -}
|
| -
|
| -{# TODO(vardhan): Set error messages here for the remaining validation
|
| - errors. #}
|
| -// static
|
| -mojo::internal::ValidationError {{class_name}}::Validate(
|
| - const void* data,
|
| - mojo::internal::BoundsChecker* bounds_checker,
|
| - bool inlined,
|
| - std::string* err) {
|
| - if (!data)
|
| - return mojo::internal::ValidationError::NONE;
|
| -
|
| - if (!mojo::internal::IsAligned(data)) {
|
| - MOJO_INTERNAL_DEBUG_SET_ERROR_MSG(err) << "";
|
| - return mojo::internal::ValidationError::MISALIGNED_OBJECT;
|
| - }
|
| -
|
| - // If the union is inlined in another structure its memory was already claimed.
|
| - // This ONLY applies to the union itself, NOT anything which the union points
|
| - // to.
|
| - if (!inlined && !bounds_checker->ClaimMemory(data, sizeof({{class_name}}))) {
|
| - MOJO_INTERNAL_DEBUG_SET_ERROR_MSG(err) << "";
|
| - return mojo::internal::ValidationError::ILLEGAL_MEMORY_RANGE;
|
| - }
|
| -
|
| - const {{class_name}}* object = static_cast<const {{class_name}}*>(data);
|
| - MOJO_ALLOW_UNUSED_LOCAL(object);
|
| -
|
| - if (object->is_null())
|
| - return mojo::internal::ValidationError::NONE;
|
| -
|
| - switch (object->tag) {
|
| -{% for field in union.fields %}
|
| - case {{enum_name}}::{{field.name|upper}}: {
|
| -{{ validation_macros.validate_union_field(field, union, "err")|indent(8) }}
|
| - }
|
| -{%- endfor %}
|
| - default:
|
| - // Unknown tags should not cause validation to fail.
|
| - break;
|
| - }
|
| - return mojo::internal::ValidationError::NONE;
|
| -}
|
| -
|
| -void {{class_name}}::set_null() {
|
| - size = 0U;
|
| - tag = static_cast<{{enum_name}}>(0);
|
| - data.unknown = 0U;
|
| -}
|
| -
|
| -{{class_name}}::{{class_name}}() {
|
| -}
|
| -
|
| -void {{class_name}}::EncodePointersAndHandles(
|
| - std::vector<mojo::Handle>* handles) {
|
| - switch (tag) {
|
| -{%- for field in union.fields %}
|
| - case {{enum_name}}::{{field.name|upper}}: {
|
| -{%- if field.kind|is_object_kind %}
|
| - mojo::internal::Encode(&data.f_{{field.name}}, handles);
|
| -{%- elif field.kind|is_any_handle_kind %}
|
| - mojo::internal::EncodeHandle(&data.f_{{field.name}}, handles);
|
| -{%- elif field.kind|is_interface_kind %}
|
| - mojo::internal::EncodeHandle(
|
| - reinterpret_cast<mojo::internal::Interface_Data*>(
|
| - &data.f_{{field.name}}), handles);
|
| -{%- endif %}
|
| - return;
|
| - }
|
| -{%- endfor %}
|
| - case {{enum_name}}::__UNKNOWN__: {
|
| - MOJO_DCHECK(false) << "No sane way to serialize a union with an unknown tag.";
|
| - break;
|
| - }
|
| - }
|
| -}
|
| -
|
| -void {{class_name}}::DecodePointersAndHandles(
|
| - std::vector<mojo::Handle>* handles) {
|
| - switch (tag) {
|
| -{%- for field in union.fields %}
|
| - case {{enum_name}}::{{field.name|upper}}: {
|
| -{%- if field.kind|is_object_kind %}
|
| - mojo::internal::Decode(&data.f_{{field.name}}, handles);
|
| -{%- elif field.kind|is_any_handle_kind %}
|
| - mojo::internal::DecodeHandle(&data.f_{{field.name}}, handles);
|
| -{%- elif field.kind|is_interface_kind %}
|
| - mojo::internal::DecodeHandle(
|
| - reinterpret_cast<mojo::internal::Interface_Data*>(
|
| - &data.f_{{field.name}}), handles);
|
| -{%- endif %}
|
| - return;
|
| - }
|
| -{%- endfor %}
|
| - default:
|
| - return;
|
| - }
|
| -}
|
|
|