• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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