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

Side by Side Diff: mojo/public/bindings/generators/mojom_cpp_generator.py

Issue 139613005: Support default values for complex objects in mojom. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 10 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 | Annotate | Revision Log
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Generates C++ source files from a mojom.Module.""" 5 """Generates C++ source files from a mojom.Module."""
6 6
7 from generate import mojom 7 from generate import mojom
8 from generate import mojom_pack 8 from generate import mojom_pack
9 from generate import mojom_generator 9 from generate import mojom_generator
10 10
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 "cpp_type": GetCppType, 104 "cpp_type": GetCppType,
105 "cpp_wrapper_type": GetCppWrapperType, 105 "cpp_wrapper_type": GetCppWrapperType,
106 "get_pad": mojom_pack.GetPad, 106 "get_pad": mojom_pack.GetPad,
107 "is_handle_kind": mojom_generator.IsHandleKind, 107 "is_handle_kind": mojom_generator.IsHandleKind,
108 "is_object_kind": mojom_generator.IsObjectKind, 108 "is_object_kind": mojom_generator.IsObjectKind,
109 "is_string_kind": mojom_generator.IsStringKind, 109 "is_string_kind": mojom_generator.IsStringKind,
110 "is_array_kind": lambda kind: isinstance(kind, mojom.Array), 110 "is_array_kind": lambda kind: isinstance(kind, mojom.Array),
111 "is_struct_with_handles": IsStructWithHandles, 111 "is_struct_with_handles": IsStructWithHandles,
112 "struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, 112 "struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE,
113 "struct_from_method": mojom_generator.GetStructFromMethod, 113 "struct_from_method": mojom_generator.GetStructFromMethod,
114 "struct_by_name": mojom_generator.GetStructByName,
114 "stylize_method": mojom_generator.StudlyCapsToCamel, 115 "stylize_method": mojom_generator.StudlyCapsToCamel,
116 "verify_token_type": mojom_generator.VerifyTokenType,
115 } 117 }
116 118
117 @UseJinja("cpp_templates/module.h.tmpl", filters=cpp_filters) 119 @UseJinja("cpp_templates/module.h.tmpl", filters=cpp_filters)
118 def GenerateModuleHeader(self): 120 def GenerateModuleHeader(self):
119 return { 121 return {
120 "module_name": self.module.name, 122 "module_name": self.module.name,
121 "namespace": self.module.namespace, 123 "namespace": self.module.namespace,
122 "enums": self.module.enums, 124 "enums": self.module.enums,
123 "structs": self.GetStructs(), 125 "structs": self.GetStructs(),
124 "interfaces": self.module.interfaces, 126 "interfaces": self.module.interfaces,
(...skipping 27 matching lines...) Expand all
152 self.Write(self.GenerateModuleInternalHeader(), 154 self.Write(self.GenerateModuleInternalHeader(),
153 "%s_internal.h" % self.module.name) 155 "%s_internal.h" % self.module.name)
154 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name) 156 self.Write(self.GenerateModuleSource(), "%s.cc" % self.module.name)
155 157
156 def GetIncludePrefix(self): 158 def GetIncludePrefix(self):
157 if not self.header_dir: 159 if not self.header_dir:
158 return "" 160 return ""
159 if self.header_dir[-1] == "/": 161 if self.header_dir[-1] == "/":
160 return self.header_dir 162 return self.header_dir
161 return self.header_dir + "/" 163 return self.header_dir + "/"
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698