1//* Copyright 2019 The Dawn Authors 2//* 3//* Licensed under the Apache License, Version 2.0 (the "License"); 4//* you may not use this file except in compliance with the License. 5//* You may obtain a copy of the License at 6//* 7//* http://www.apache.org/licenses/LICENSE-2.0 8//* 9//* Unless required by applicable law or agreed to in writing, software 10//* distributed under the License is distributed on an "AS IS" BASIS, 11//* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12//* See the License for the specific language governing permissions and 13//* limitations under the License. 14 15// Command handlers & doers 16{% for command in cmd_records["command"] %} 17 {% set Suffix = command.name.CamelCase() %} 18 bool Handle{{Suffix}}(DeserializeBuffer* deserializeBuffer); 19 20 bool Do{{Suffix}}( 21 {%- for member in command.members -%} 22 {%- if member.is_return_value -%} 23 {%- if member.handle_type -%} 24 {{as_cType(member.handle_type.name)}}* {{as_varName(member.name)}} 25 {%- else -%} 26 {{as_cType(member.type.name)}}* {{as_varName(member.name)}} 27 {%- endif -%} 28 {%- else -%} 29 {{as_annotated_cType(member)}} 30 {%- endif -%} 31 {%- if not loop.last -%}, {% endif %} 32 {%- endfor -%} 33 ); 34{% endfor %} 35 36{% for CommandName in server_custom_pre_handler_commands %} 37 bool PreHandle{{CommandName}}(const {{CommandName}}Cmd& cmd); 38{% endfor %} 39