Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: mojo/public/tools/bindings/generators/go_templates/source.tmpl

Issue 2250183003: Make the fuchsia mojo/public repo the source of truth. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // This file is autogenerated by:
6 // mojo/public/tools/bindings/mojom_bindings_generator.py
7 // For:
8 // {{module.path}}
9 //
10
11 package {{package}}
12
13 import (
14 {% for path, name in imports.iteritems() %}
15 {{name}} "{{path}}"
16 {% endfor %}
17 )
18
19 {% import "enum.tmpl" as enum_macros %}
20 {% import "interface.tmpl" as interface_macros %}
21 {% import "struct.tmpl" as struct_macros %}
22 {% import "union.tmpl" as union_macros %}
23
24 {%- if should_gen_mojom_types -%}
25 // This global variable contains a mojom_types.RuntimeTypeInfo struct
26 // describing the types defined in this file and all of its imports as
27 // well as the top-level interfaces defined in this file.
28 var runtimeTypeInfo__ = {{typepkg}}RuntimeTypeInfo{}
29
30 func getRuntimeTypeInfo() {{typepkg}}RuntimeTypeInfo {
31 if runtimeTypeInfo__.TypeMap == nil {
32 initRuntimeTypeInfo()
33 }
34 return runtimeTypeInfo__
35 }
36
37 func initRuntimeTypeInfo() {
38 // serializedRuntimeTypeInfo contains the bytes of the Mojo serialization of
39 // a mojom_types.RuntimeTypeInfo struct describing the Mojom types in this fil e.
40 // The string contains the base64 encoding of the gzip-compressed bytes.
41 serializedRuntimeTypeInfo := "{{module.serialized_runtime_type_info}}"
42
43 // Deserialize RuntimeTypeInfo
44 compressedBytes, err := base64.StdEncoding.DecodeString(serializedRuntimeTypeI nfo)
45 if err != nil {
46 panic(fmt.Sprintf("Error while base64Decoding runtimeTypeInfo: %s", err.Erro r()))
47 }
48 reader, err := gzip.NewReader(bytes.NewBuffer(compressedBytes))
49 if err != nil {
50 panic(fmt.Sprintf("Error while decompressing runtimeTypeInfo: %s", err.Error ()))
51 }
52 uncompressedBytes, err := ioutil.ReadAll(reader)
53 if err != nil {
54 panic(fmt.Sprintf("Error while decompressing runtimeTypeInfo: %s", err.Erro r()))
55 }
56 if err = reader.Close(); err != nil {
57 panic(fmt.Sprintf("Error while decompressing runtimeTypeInfo: %s", err.Error ()))
58 }
59 decoder := bindings.NewDecoder(uncompressedBytes, nil)
60 runtimeTypeInfo__.Decode(decoder)
61
62 {% for mi in mojom_imports.values() %}
63 {%- if mi ~ '.' != typepkg and mi ~ '.' != descpkg %}
64 for s, udt := range {{mi}}.GetAllMojomTypeDefinitions() {
65 runtimeTypeInfo__.TypeMap[s] = udt
66 }
67
68
69 {% endif -%}
70 {% endfor %}
71 }
72 func GetAllMojomTypeDefinitions() map[string]{{typepkg}}UserDefinedType {
73 return getRuntimeTypeInfo().TypeMap
74 }
75 {% endif %}
76
77 {# Enum definitions #}
78 {%- for enum in enums %}
79 {{enum_macros.define(enum, typepkg, package)}}
80 {%- endfor %}
81
82 {#- Interface definitions #}
83 {% for interface in interfaces %}
84 {{interface_macros.define(interface, descpkg, typepkg, package)}}
85 {%- endfor %}
86
87 {#- Struct definitions #}
88 {% for struct in structs %}
89 {{struct_macros.define(struct, typepkg, package)}}
90 {%- endfor %}
91
92 {#- Union definitions #}
93 {% for union in unions %}
94 {{union_macros.define(union, typepkg, package)}}
95 {%- endfor %}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698