Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 size_t GetSerializedSize_(const {{struct.name}}Ptr& input) { | 1 size_t GetSerializedSize_(const {{struct.name}}Ptr& input) { |
| 2 if (!input) | 2 if (!input) |
| 3 return 0; | 3 return 0; |
| 4 size_t size = sizeof(internal::{{struct.name}}_Data); | 4 size_t size = sizeof(internal::{{struct.name}}_Data); |
| 5 {%- for pf in struct.packed.packed_fields if pf.field.kind|is_object_kind %} | 5 {%- for pf in struct.packed.packed_fields if pf.field.kind|is_object_kind %} |
| 6 size += GetSerializedSize_(input->{{pf.field.name}}); | 6 size += GetSerializedSize_(input->{{pf.field.name}}); |
| 7 {%- endfor %} | 7 {%- endfor %} |
| 8 return size; | 8 return size; |
| 9 } | 9 } |
| 10 | 10 |
| 11 void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buf, | 11 void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buf, |
| 12 internal::{{struct.name}}_Data** output) { | 12 internal::{{struct.name}}_Data** output) { |
| 13 if (input) { | 13 if (input) { |
| 14 internal::{{struct.name}}_Data* result = | 14 internal::{{struct.name}}_Data* result = |
| 15 internal::{{struct.name}}_Data::New(buf); | 15 internal::{{struct.name}}_Data::New(buf); |
| 16 {%- for pf in struct.packed.packed_fields %} | 16 {%- for pf in struct.packed.packed_fields %} |
| 17 {%- if pf.field.kind|is_object_kind %} | 17 {%- if pf.field.kind|is_object_kind %} |
| 18 {%- if pf.field.kind|is_any_array_kind %} | 18 {%- if pf.field.kind|is_any_array_kind %} |
| 19 mojo::SerializeArray_<{{pf.field.kind|get_array_validate_params|indent(26)}} >( | 19 mojo::SerializeArray_<{{pf.field.kind|get_array_validate_params|indent(26)}} >( |
| 20 mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.fi eld.name}}.ptr); | 20 mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.fi eld.name}}.ptr); |
| 21 {%- else %} | 21 {%- else %} |
| 22 Serialize_(mojo::internal::Forward(input->{{pf.field.name}}), buf, &result-> {{pf.field.name}}.ptr); | 22 Serialize_(mojo::internal::Forward(input->{{pf.field.name}}), buf, &result-> {{pf.field.name}}.ptr); |
| 23 {%- endif %} | 23 {%- endif %} |
| 24 {%- if not pf.field.kind|is_nullable_kind %} | 24 {%- if not pf.field.kind|is_nullable_kind %} |
| 25 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( | 25 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| 26 mojo::internal::IsNonNullableValidationEnabled() && | 26 mojo::internal::IsNonNullableValidationEnabled() && |
| 27 !result->{{pf.field.name}}.ptr, | 27 !result->{{pf.field.name}}.ptr, |
| 28 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER); | 28 mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER, |
| 29 "null {{pf.field.name}} field"); | |
|
hansmuller
2014/08/21 00:26:40
It might be useful include the name of the struct
yzshen1
2014/08/21 05:57:49
Done.
| |
| 29 {%- endif %} | 30 {%- endif %} |
| 30 {%- elif pf.field.kind|is_any_handle_kind %} | 31 {%- elif pf.field.kind|is_any_handle_kind %} |
| 31 {%- if pf.field.kind|is_interface_kind %} | 32 {%- if pf.field.kind|is_interface_kind %} |
| 32 result->{{pf.field.name}} = input->{{pf.field.name}}.PassMessagePipe().relea se(); | 33 result->{{pf.field.name}} = input->{{pf.field.name}}.PassMessagePipe().relea se(); |
| 33 {%- else %} | 34 {%- else %} |
| 34 result->{{pf.field.name}} = input->{{pf.field.name}}.release(); | 35 result->{{pf.field.name}} = input->{{pf.field.name}}.release(); |
| 35 {%- endif %} | 36 {%- endif %} |
| 36 {%- if not pf.field.kind|is_nullable_kind %} | 37 {%- if not pf.field.kind|is_nullable_kind %} |
| 37 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( | 38 MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING( |
| 38 mojo::internal::IsNonNullableValidationEnabled() && | 39 mojo::internal::IsNonNullableValidationEnabled() && |
| 39 !result->{{pf.field.name}}.is_valid(), | 40 !result->{{pf.field.name}}.is_valid(), |
| 40 mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE); | 41 mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE, |
| 42 "invalid {{pf.field.name}} field"); | |
| 41 {%- endif %} | 43 {%- endif %} |
| 42 {%- else %} | 44 {%- else %} |
| 43 result->{{pf.field.name}} = input->{{pf.field.name}}; | 45 result->{{pf.field.name}} = input->{{pf.field.name}}; |
| 44 {%- endif %} | 46 {%- endif %} |
| 45 {%- endfor %} | 47 {%- endfor %} |
| 46 *output = result; | 48 *output = result; |
| 47 } else { | 49 } else { |
| 48 *output = NULL; | 50 *output = NULL; |
| 49 } | 51 } |
| 50 } | 52 } |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 66 input->{{pf.field.name}}); | 68 input->{{pf.field.name}}); |
| 67 {%- else %} | 69 {%- else %} |
| 68 result->{{pf.field.name}} = input->{{pf.field.name}}; | 70 result->{{pf.field.name}} = input->{{pf.field.name}}; |
| 69 {%- endif %} | 71 {%- endif %} |
| 70 {%- endfor %} | 72 {%- endfor %} |
| 71 *output = result.Pass(); | 73 *output = result.Pass(); |
| 72 } else { | 74 } else { |
| 73 output->reset(); | 75 output->reset(); |
| 74 } | 76 } |
| 75 } | 77 } |
| OLD | NEW |