Index: mojo/public/tools/bindings/generators/mojom_java_generator.py |
diff --git a/mojo/public/tools/bindings/generators/mojom_java_generator.py b/mojo/public/tools/bindings/generators/mojom_java_generator.py |
index 7364afc56ad725ff594c1180e68fc377d69071ce..b35dd9866934b4dd2934b31bc0316a72267e78c2 100644 |
--- a/mojo/public/tools/bindings/generators/mojom_java_generator.py |
+++ b/mojo/public/tools/bindings/generators/mojom_java_generator.py |
@@ -244,6 +244,14 @@ def IsPointerArrayKind(kind): |
sub_kind = kind.kind |
return generator.IsObjectKind(sub_kind) |
+def GetResponseStructFromMethod(method): |
+ return generator.GetDataHeader( |
+ False, generator.GetResponseStructFromMethod(method)) |
+ |
+def GetStructFromMethod(method): |
+ return generator.GetDataHeader( |
+ False, generator.GetStructFromMethod(method)) |
+ |
def GetConstantsMainEntityName(module): |
if 'JavaConstantsClassName' in module.attributes: |
return ParseStringAttribute(module.attributes['JavaConstantsClassName']) |
@@ -266,6 +274,8 @@ class Generator(generator.Generator): |
"java_type": GetJavaType, |
"name": GetNameForElement, |
"new_array": NewArray, |
+ "response_struct_from_method": GetResponseStructFromMethod, |
+ "struct_from_method": GetStructFromMethod, |
"struct_size": lambda ps: ps.GetTotalSize() + _HEADER_SIZE, |
} |
@@ -297,6 +307,12 @@ class Generator(generator.Generator): |
exports.update({"client": client}) |
return exports |
+ @UseJinja("java_templates/interface_internal.java.tmpl", filters=java_filters) |
+ def GenerateInterfaceInternalSource(self, interface): |
+ exports = self.GetJinjaExports() |
+ exports.update({"interface": interface}) |
+ return exports |
+ |
@UseJinja("java_templates/constants.java.tmpl", filters=java_filters) |
def GenerateConstantsSource(self, module): |
exports = self.GetJinjaExports() |
@@ -329,6 +345,9 @@ class Generator(generator.Generator): |
for interface in self.module.interfaces: |
self.Write(self.GenerateInterfaceSource(interface), |
"%s.java" % GetNameForElement(interface)) |
+ if interface.methods: |
+ self.Write(self.GenerateInterfaceInternalSource(interface), |
+ "%sInternal.java" % GetNameForElement(interface)) |
if self.module.constants: |
self.Write(self.GenerateConstantsSource(self.module), |