OLD | NEW |
| (Empty) |
1 // This file is generated from {{input_file}} | |
2 | |
3 // Copyright 2017 The Chromium Authors. All rights reserved. | |
4 // Use of this source code is governed by a BSD-style license that can be | |
5 // found in the LICENSE file. | |
6 | |
7 #ifndef {{file.header_name}}_h | |
8 #define {{file.header_name}}_h | |
9 | |
10 {% for include in file.includes %} | |
11 {{include}} | |
12 {% endfor %} | |
13 | |
14 namespace blink { | |
15 | |
16 {% for forward_decl in file.forward_declarations %} | |
17 {{forward_decl}} | |
18 {% endfor %} | |
19 | |
20 namespace probe { | |
21 {% for probe in file.declarations %} | |
22 | |
23 {%- macro params_decl(probe) %} | |
24 {%- for param in probe.params %} | |
25 {{ param.type }} | |
26 {%- if param.default_value %} = {{ param.default_value }} | |
27 {%- endif %} | |
28 {%- if not loop.last %}, {% endif %} | |
29 {%- endfor %} | |
30 {%- endmacro -%} | |
31 | |
32 {% if probe.is_scoped %} | |
33 | |
34 | |
35 class CORE_EXPORT {{probe.name}} : public ProbeBase { | |
36 STACK_ALLOCATED() | |
37 public: | |
38 explicit {{probe.name}}({{ params_decl(probe) }}); | |
39 ~{{probe.name}}(); | |
40 {% for param in probe.params %} | |
41 {{param.member_type}} {{param.name}}; | |
42 {% endfor %} | |
43 }; | |
44 {%- else %} | |
45 | |
46 CORE_EXPORT {{probe.return_type}} {{probe.name}}({{ params_decl(probe) }}); | |
47 | |
48 {%- endif %} | |
49 {%- endfor %} | |
50 | |
51 | |
52 } // namespace probe | |
53 } // namespace blink | |
54 | |
55 #endif // !defined({{file.header_name}}_h) | |
OLD | NEW |