| OLD | NEW |
| 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 import mojom.generate.generator as generator | 7 import mojom.generate.generator as generator |
| 8 import mojom.generate.module as mojom | 8 import mojom.generate.module as mojom |
| 9 import mojom.generate.pack as pack | 9 import mojom.generate.pack as pack |
| 10 from mojom.generate.template_expander import UseJinja | 10 from mojom.generate.template_expander import UseJinja |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 return "mojo::internal::Interface_Data" | 221 return "mojo::internal::Interface_Data" |
| 222 if mojom.IsInterfaceRequestKind(kind): | 222 if mojom.IsInterfaceRequestKind(kind): |
| 223 return "mojo::MessagePipeHandle" | 223 return "mojo::MessagePipeHandle" |
| 224 if mojom.IsEnumKind(kind): | 224 if mojom.IsEnumKind(kind): |
| 225 return GetNameForKind(kind) | 225 return GetNameForKind(kind) |
| 226 if mojom.IsStringKind(kind): | 226 if mojom.IsStringKind(kind): |
| 227 return "mojo::internal::StringPointer" | 227 return "mojo::internal::StringPointer" |
| 228 return _kind_to_cpp_type[kind] | 228 return _kind_to_cpp_type[kind] |
| 229 | 229 |
| 230 def GetUnionGetterReturnType(kind): | 230 def GetUnionGetterReturnType(kind): |
| 231 if mojom.IsStructKind(kind): | 231 if (mojom.IsStructKind(kind) or mojom.IsArrayKind(kind) or |
| 232 mojom.IsMapKind(kind)): |
| 232 return "%s&" % GetCppWrapperType(kind) | 233 return "%s&" % GetCppWrapperType(kind) |
| 233 return GetCppResultWrapperType(kind) | 234 return GetCppResultWrapperType(kind) |
| 234 | 235 |
| 235 def IsStructWithHandles(struct): | 236 def IsStructWithHandles(struct): |
| 236 for pf in struct.packed.packed_fields: | 237 for pf in struct.packed.packed_fields: |
| 237 if mojom.IsAnyHandleKind(pf.field.kind): | 238 if mojom.IsAnyHandleKind(pf.field.kind): |
| 238 return True | 239 return True |
| 239 return False | 240 return False |
| 240 | 241 |
| 241 def TranslateConstants(token, kind): | 242 def TranslateConstants(token, kind): |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 def GenerateModuleSource(self): | 397 def GenerateModuleSource(self): |
| 397 return self.GetJinjaExports() | 398 return self.GetJinjaExports() |
| 398 | 399 |
| 399 def GenerateFiles(self, args): | 400 def GenerateFiles(self, args): |
| 400 self.Write(self.GenerateModuleHeader(), | 401 self.Write(self.GenerateModuleHeader(), |
| 401 self.MatchMojomFilePath("%s.h" % self.module.name)) | 402 self.MatchMojomFilePath("%s.h" % self.module.name)) |
| 402 self.Write(self.GenerateModuleInternalHeader(), | 403 self.Write(self.GenerateModuleInternalHeader(), |
| 403 self.MatchMojomFilePath("%s-internal.h" % self.module.name)) | 404 self.MatchMojomFilePath("%s-internal.h" % self.module.name)) |
| 404 self.Write(self.GenerateModuleSource(), | 405 self.Write(self.GenerateModuleSource(), |
| 405 self.MatchMojomFilePath("%s.cc" % self.module.name)) | 406 self.MatchMojomFilePath("%s.cc" % self.module.name)) |
| OLD | NEW |